16

Webアプリケーションと一緒に実行されるコンソールアプリケーションを使用してC#内でWebSocketを使用できることは知っていますが、C#Webアプリケーションの要求を使用してWebSocketを作成できるかどうか疑問に思っています。

私はASP.Netを調べていましたが、C#を直接使用して独自のHTTPサーバーを作成し、同じソケットオブジェクトを使用してWebソケットを生成しない限り不可能だと考え始めました(Node.jsやSocket.IO作業)。

複数のサーバー/プロジェクトを持たずにC#WebアプリケーションにWebSocketを含める方法について何か考えはありますか?

4

5 に答える 5

11

ASP.NETのコンテキスト内でWebSocketサーバーをホストすることが可能です。ただし、ASP.NETアプリケーションを再起動できることに注意する必要があります。つまり、サーバーがシャットダウンされ、ASP.NETアプリケーションと一緒に再確立する必要があります。

別のWindowsサービス内でWebSocketアプリケーションをホストすると、ソケットサーバーの信頼性が向上しますが、ASP.NETアプリケーションとWindowsサービス間でデータを共有するにはIPCが必要になります。

したがって、議論するトレードオフがあります。これは、クライアントコードが接続の喪失と再確立にどの程度敏感であるかによって異なります。これが十分に処理されれば、ASP.NET内でのホスティングは問題ありません。

WebSocketはHTMLの新機能ですが、この概念はFlashおよびJavaアプレットに長年存在していることに注意してください。特にFlashでは、オンラインゲームやWebベースのチャットで一般的に使用されています。

于 2010-06-10T13:57:25.497 に答える
5

SuperWebSocketのソースコードには、Webサイトでソケットサーバーを実行するWebプロジェクトが含まれています。 http://superwebsocket.codeplex.com/

于 2010-12-11T14:15:45.347 に答える
3

Kaazingの.netクライアントの実装を確認してください。これらのクライアントを使用すると、任意のWebSocketサーバーに接続できます。

于 2010-06-11T18:21:42.930 に答える
3

asp.net4.5およびIIS8にはWebSocketクライアントおよびサーバーのサポートが組み込まれています

参照:http ://www.asp.net/vnext/overview/aspnet/whats-new#_Toc318097383

于 2011-12-16T08:26:37.213 に答える
3

PokeIn 2.0にはWebSocket機能が組み込まれており、動作するために特別な環境は必要ありません。詳細はこちらから入手できます

于 2012-03-04T18:11:49.507 に答える