ASP.NET MVCチャットアプリケーション用のSignalR対HTML5 WebSockets
-
25-10-2019 - |
質問
私は、html5 websocketsまたはsignalrを使用してチャットに統合するために大きなジレンマを抱えています。
私のジレンマ
1.なぜ使用する signalr Longpollingを実装している場合は?
2.isnt longpolling bad?
3.ウェブソケットとロングポールはまったく異なりますか?
4.IIS8のみがWebSocketsをサポートしていますか?
5. HTML5 WebSocketsを使用してチャットデータをSQLデータベースに保存できますか?
6.WebSocketsをIIS7以上のバージョンで動作させるための回避策があります(Chromeブラウザのみを使用します)
私に耐えてくれてありがとう
解決
Longpollingを実装するのにSignalRを使用するのはなぜですか?
回答:古いブラウザのサポートを有効にするか、データ転送の実装の詳細よりも高いレベルの抽象化を行う。 WebSocketsサポートがあるChromeのバージョンを間違いなく使用する場合は、WebSocketsを使用します(良い説明 ここ).
長くは悪いのですか?
回答:実際、それは最高ではありません(上記のリンクを参照)が、古いブラウザにとっては何もないよりはましです。
WebSocketsとLongpollingはまったく異なりますか?
回答:それらはまったく異なります(繰り返しますが、上記の回答を参照)が、それらには共通点があります(どちらも接続が必要です)。
IIS8のみがWebSocketsをサポートしていますか?
回答:純粋な.NETフレームワークを使用する場合 - はい、IIS 8のみ、.NET 4.5。ただし、別のWebSocketsサーバーを使用できます(以下の回避策を参照)。
HTML5 WebSocketsを使用してチャットデータをSQLデータベースに保存できますか?
回答:WebSocketsは送信するプロトコルのみです データ, 、文字通り それを使用します データの転送を除いてアクションを実行することはできません。ただし、たとえば、サーバーに送信され、「以前のすべてのデータをDBに保存」を意味するトークンを作成できます。または、で説明したようなさまざまな種類のメッセージに基づいて、より複雑なシナリオを持つことができます socket.io for node.js.
WebSocketsをIIS7以上のバージョンで動作させるための回避策はありません(Chromeブラウザのみを使用します)
回答 - はい、IISを使用しないでください。 フレック - たとえば、個別のプロセスとしてIISと一緒に実行する「古い」ブラウザの優れたサポートがあります。