C# Web アプリケーションで WebSocket を使用しますか?
質問
Web アプリケーションと一緒に実行されるコンソール アプリケーションを使用して C# 内で WebSocket を使用できることはわかっていますが、C# Web アプリケーション上のリクエストを使用して WebSocket を作成できるかどうか疑問に思っています。
ASP.Net を調べていて、直接 C# を使用して独自の HTTP サーバーを作成し、同じソケット オブジェクトを使用して Web ソケットを生成しない限り、それは不可能だと思い始めています (Node.js と同様の方法) Socket.IO は動作します)。
複数のサーバー/プロジェクトを持たずに C# Web アプリケーションに WebSocket を含める方法について何か考えはありますか?
解決
これは、ASP.NETのコンテキスト内でのWebSocketサーバーをホストすることが可能です。ただし、ASP.NETアプリケーションは、サーバーがシャットダウンされ、再確立ASP.NETアプリケーションと一緒にする必要がありますを意味し、再起動することができることを認識する必要があります。
別のWindowsサービス内のWebSocketアプリケーションをホストするソケットサーバーで高い信頼性を提供するだろうが、その後ASP.NETアプリケーションとWindowsサービスの間で共有データへのIPCが必要になります。
だから、トレードオフについて議論するがあります。それはあなたのクライアントコードが接続損失と再確立にどれだけ敏感に依存します。これが十分に処理される場合は、罰金になりますASP.NET内ホスティングます。
WebSocketをはHTMLに慣れていながら、コンセプトはFlashやJavaアプレットで長年にわたって存在していることを注。特にFlashで、それは一般的にオンラインゲームとウェブベースのチャットのために使われています。
他のヒント
SuperWebSocketのソースコードは、ウェブサイトでのソケット・サーバを実行するWebプロジェクトが含まれています。 http://superwebsocket.codeplex.com/する
の PokeIn 2.0 ののWebSocketの機能が組み込まれていますし、それがに特別な環境を必要としません。作業。 ここを
から入手詳細あり<ストライキ>になります。スト> asp.net 4.5とIIS8でのWebSocketクライアントとサーバーのサポートに組み込まれています。
を参照してください: http://www.asp.net/vnext/概要/ ASPNET /いただきまし-新しい#_Toc318097383する
をチェックしてください .netクライアントの実装 から カジング. 。これらのクライアントを使用すると、任意の WebSocket サーバーに接続できます。