1. ホーム
  2. c#

[解決済み] Node.Js + Socket.IO vs SignalR vs C# WebSocket サーバー

2022-02-19 07:50:34

質問

現在、.Netで書かれたTCPサーバーアプリケーションを持っており、クライアントにメッセージを受信して送信しています。私は、Webアプリケーションの構築を検討しており、通信レイヤーが必要です。

私は、TCPサーバーに接続し、Webアプリケーションに通信をプッシュするNode.JS + Socket.IOアプリを構築し、すべてが正常に動作しています。

私はちょうど.Netスタックにそれを維持するための代替手段としてSignalRについて読みました。

しかし、私はまた、私はC#のWebsocketサーバー、基本的なデモを書くことができることを発見した。 こちら

この基本的なサーバーは、SignalRがそうであるように、明らかにもっと多くの機能を含んでいると推測されますが?

私が決めようとしているのは、現在のTCPアプリケーションにWebsocketサーバーを追加するだけなのか、それともSignalRまたはNode.jsのルートを別に進むのか、ということです。 SignalRアプリケーションは、Windowsサービス、コンソールアプリ、IISサービスなど、どのように実行するのですか?

どのように解決するのですか?

SignalRは、Socket.IOと同様にトランスポートネゴシエーション/フォールバックをサポートします。これはフレームワークであり、サーバーではないので、何らかのサーバーでホストする必要があります。ASP.NET用、OWIN用(例:Kayak)、セルフホストホストがありますので、Windowsサービスなど自分のプロセスで簡単に動かすことができます。

SignalRは、ブラウザ(JS)、.NET、Windows Phone 7、Silverlight用のクライアントをサポートしています。また、iOS、Mono Touchなどのコントリビューションクライアントもあります。

SignalRは、生のソケットよりもはるかに高レベルのAPIを提供します。これは大きな利点で、サーバーからクライアントへブロードキャスト(またはターゲット)方式で"RPC"のようなことを行うことが可能です。