【问题标题】:Better way of communicating between Web App and Desktop App (Windows) [closed]Web App和桌面应用程序(Windows)之间更好的通信方式[关闭]
【发布时间】:2020-04-10 05:35:55
【问题描述】:

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

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

我对两种解决方案有疑问:

1 - 在数据库中使用表 - Web 应用程序 --> DB

2 - Socket.io 我可以将它与 node.js 一起使用。

最好的方法是什么?或者我可以使用哪些其他解决方案?

谢谢!!待在家里!

【问题讨论】:

  • 当一个问题导致多个基于选项的答案时,社区更愿意关闭它。您应该阅读以下文档以了解更多关于如何提问stackoverflow.com/help/how-to-ask
  • 有免费的message queue libraries(如 RabbitMQ、Rebus 等)。您可以尝试从 c# 和 php 中找到要使用的那个。然而,消息传递的更高级别可能是矫枉过正。但从另一个角度来看,您不需要考虑套接字和您自己的通信协议。

标签: javascript c# windows socket.io bidirectional


【解决方案1】:

我不确定您是指通过服务器还是直接在客户端上的 socket.io,但我知道一些桌面应用程序在 localhost 上托管了一个网络服务器,用于与网络应用程序通信。不幸的是,我不知道这种架构叫什么。

+------------------------+       +-------+       +---------------------+
|Desktop App             |       |Web App|       |Web Server           |
|                        |       |       |       |                     |
| http://localhost:99999 +<----->+       +<----->+ http://example.com/ |
+------------------------+       +-------+       +---------------------+

您可以在桌面应用程序和 Web 应用程序之间使用 websocket,以避免 Web 应用程序必须轮询桌面应用程序。

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

【讨论】:

    猜你喜欢
    • 2012-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 2011-12-09
    相关资源
    最近更新 更多