我可以使用什么来让基于 C# 的 UI 通过 Internet 与基于 C 的引擎对话?
我有一个用 C 语言编写的数据处理引擎 dll(我称之为服务器),它与用 C# 编写的用户界面客户端对话。虽然我在这里使用术语“客户端”和“服务器”,但我只是在基于 C# 的 UI 使用 P/Invoke 与基于 C 的引擎“对话”的意义上使用它们。
客户端和服务器都只能在 Windows 64 位环境中运行。该引擎是通用 C 语言,可以重新编译以在任何操作系统上运行,但目前(并且很可能正在进行中)我只关心 Windows 操作系统环境。
UI 控制应用程序,引擎坐下来等待来自 UI 的请求。通常,在使用应用程序时,引擎会在 90% 的时间内处于空闲状态。一旦引擎收到来自 UI 的请求,它就会处理请求的数据,并将结果返回给 UI。
在 UI 和引擎之间传递的数据量相对较少。当客户端和引擎进行对话时,客户端发送给引擎的数据量很小(小于 1k),而引擎(通常)发回的数据量小于 5k。
鉴于这种情况,我应该使用什么来让客户端通过 Internet 与引擎对话?