如果我想在.NET Core和NodeJS应用程序之间进行通信,应该选择什么?

时间:2019-04-04 09:10:47

标签: node.js websocket socket.io .net-core signalr

我们有一个与.NET核心应用程序捆绑在一起的Electron应用程序。

这两个应用程序需要能够通信,现在,我们通过写入.NET核心应用程序定期轮询的JSON文件来使用古老的技术。

我们想将其升级为使用套接字。 NodeJS开发人员想要使用socket.io,而.NET Core开发人员想要使用SignalR。

所以问题可能是:

SignalR在Node上运行正常吗?

Socket.io是否可以在.NET Core上正常运行?

我们应该只在两端使用标准的WebSockets吗?

1 个答案:

答案 0 :(得分:1)

  1. SignalR可以作为客户端在Electron上运行。

  2. Socket.io很难与.net通信。

  3. (推荐)两侧的SignalR(.net作为主机,Electron作为客户端)

      

    Microsoft docs : Running SignalR Javascript client

    或在两侧使用websocket协议。

您知道Socket.io是一个实现websocket的库。因此SinalR和Socket.io并不完全匹配。

  

socketio4net(。net上的socket.io客户端)现在未维护

因此,如果您想通过 socket.io 进行交流, 您可以在socket.io上以{strong> Host 的身份运行Electron,并以{strong> client 的身份WebsocketPackages(不是{{1 }})