【问题标题】:What should I choose if I want to communicate between a .NET core and NodeJS app?如果我想在 .NET 核心和 NodeJS 应用程序之间进行通信,我应该选择什么?
【发布时间】:2019-08-25 23:29:21
【问题描述】:

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

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

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

所以问题可能是:

SignalR 在 Node 上运行良好吗?

Socket.io 能否在 .NET Core 上正常运行?

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

【问题讨论】:

  • 嘿,你也可以使用 pubnub 之类的东西(结帐pubnub.com)。它们为几乎所有语言和平台提供 sdk。

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


【解决方案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 进行通信, 您可以在 Electron 上以 Host 身份运行 socket.io,并将 .net 作为 client 运行 WebsocketPackages(不是 SignalR

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-02
    • 2010-10-21
    • 1970-01-01
    • 1970-01-01
    • 2014-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多