Javascript 在Web应用程序和桌面应用程序(Windows)之间进行通信的更好方式

Javascript 在Web应用程序和桌面应用程序(Windows)之间进行通信的更好方式,javascript,c#,windows,socket.io,bidirectional,Javascript,C#,Windows,Socket.io,Bidirectional,我有一个Web应用程序(PHP+Javascript)和一个桌面应用程序(.netc#) 有时我需要我的应用程序以双向方式进行通信,其中web应用程序向桌面发送信息,桌面处理信息并返回web应用程序 我对两种解决方案持怀疑态度: 1-在数据库-Web app-->DB中使用表我不确定您是指通过服务器还是直接在客户端上使用socket.io,但我知道有一些桌面应用程序在localhost上托管Web服务器,以便与Web app通信。不幸的是,我不知道这个架构叫什么 +---------------

我有一个Web应用程序(PHP+Javascript)和一个桌面应用程序(.netc#)

有时我需要我的应用程序以双向方式进行通信,其中web应用程序向桌面发送信息,桌面处理信息并返回web应用程序

我对两种解决方案持怀疑态度:


1-在数据库-Web app-->DB中使用表我不确定您是指通过服务器还是直接在客户端上使用socket.io,但我知道有一些桌面应用程序在localhost上托管Web服务器,以便与Web app通信。不幸的是,我不知道这个架构叫什么

+------------------------+       +-------+       +---------------------+
|Desktop App             |       |Web App|       |Web Server           |
|                        |       |       |       |                     |
| http://localhost:99999 +<----->+       +<----->+ http://example.com/ |
+------------------------+       +-------+       +---------------------+
+-----------------------------------++---++---------------------+
|桌面应用程序| | Web应用程序| | Web服务器|
|                        |       |       |       |                     |
| http://localhost:99999 ++       ++ http://example.com/ |
+------------------------+       +-------+       +---------------------+
您可以在桌面应用程序和Web应用程序之间使用WebSocket,以避免Web应用程序必须轮询桌面应用程序


有很多安全注意事项,例如对本地主机的“跨站点请求伪造”式攻击。

当一个问题导致多个选项和答案时,社区倾向于关闭它。您应该阅读以下文档,以了解更多关于如何询问免费提供的服务(如RabbitMQ、Rebus等)。您可以尝试从c#和php中找到要使用的。不过,多发一级消息可能会有点过头。但是从另一个角度来看,您不需要考虑套接字和您自己的通信协议。