我需要开发一个可以在企业网络中运行的应用程序。客户端应该从服务器接收命令(关闭,重新启动,...)并发送信息(发生的事情......)。因此,使用Web界面,网络管理员将能够查看客户端连接的内容,向其发送命令以及查看来自它们的实时信息。客户端应该用Delphi编写(带编辑的普通VCL表格等)和服务器"最好是"在ASP.Net。
我研究了一下,我认为WebSockets可能很好。我计划将一些WebSocket库用于Delphi,如this。我不确定我应该为服务器使用什么技术。
请告诉我WebSockets是否符合我的要求。欢迎使用其他解决方案(也许在Delphi中编写服务器?)。
答案 0 :(得分:2)
Web界面通常是基于HTML的视图,需要Web HTTP服务器和Web浏览器(Chrome,Firefox等)。但是,Delphi Web Socket客户端库只能用于在本机Delphi应用程序中与Web Socket服务器通信,例如VCL GUI。
如果您打算编写VCL应用程序(不是基于Web浏览器),除了Web Sockets之外,您还有其他传输协议选项,这些选项广泛用于小型和大型系统:
与WebSockets一样,这些协议提供异步/双向消息传递。在服务器端,您可以从这些协议的许多生产质量实现(称为“消息代理”)中进行选择,主要是免费/开源。与HTTP类似,消息有效负载可以是任何内容 - 文本或二进制数据 - 消息可以使用标头来提供应用程序定义的元数据。
您的服务器端应用程序代码可以用Delphi编写,并且只是消息代理的另一个客户端,通过消息代理协议与客户端应用程序通信。一旦客户端和服务器连接到消息代理,消息就可以双向流动。
消息代理中包含许多高级功能:如果客户端在服务器仍在发送消息时断开连接,则消息代理可以存储这些消息并在客户端重新连接后立即发送它们。
对于大多数这些协议,我见过Delphi / Object Pascal的客户端库或包装器,免费和开源或商业。