一尘不染

Node.Js + Socket.IO与SignalR与C#WebSocket服务器

node.js

我目前有一个用.Net编写的TCP服务器应用程序,用于接收消息并将其提交给客户端。我正在考虑构建Web应用程序,因此需要通信层。

我已经构建了一个Node.JS +Socket.IO应用程序,该应用程序连接到我的TCP服务器,然后将通信推送到Web应用程序,并且一切正常。

我刚刚读过SignalR作为将其保留在.Net堆栈中的替代方法。

但是我也发现我可以编写一个C#WebsocketServer,这里是一个基本演示

我以为这个基本服务器就是SignalR,但是显然其中有很多功能吗?

我要决定的是只将当前的TCP应用程序附加到Websocket服务器,还是关闭单独的SignalR或Node.js路由?出于兴趣,SignalR应用程序是作为Windows服务,控制台应用程序还是IIS服务运行的?


阅读 447

收藏
2020-07-07

共1个答案

一尘不染

SignalR就像Socket.IO一样,它支持传输协商/回退。它是框架而不是服务器,因此您需要将其托管在某种服务器上。我们拥有用于ASP.NET,OWIN(例如Kayak)和自托管的主机,因此您可以轻松地在自己的进程中运行它,例如Windows服务。

SignalR支持浏览器(JS)、. NET,Windows Phone 7和Silverlight的客户端。也有iOS,Mono
Touch等东西的贡献客户。

SignalR将为您提供比原始套接字更高级别的API,这是它的一大优势,它使您能够以广播(或定向)方式从服务器到客户端执行“ RPC”之类的操作。

2020-07-07