そのため、新しいAPIであるHTML5 WebSocketsという驚くべきものを見つけました。これはまだドラフト版ですが、十分にサポートされています。全二重双方向通信。 JavaScriptを介してそれを使用する方法を知っています、APIがあります。しかし、C#/。NETアプリケーション内でWebSocketクライアントを使用したい場合、どうすればよいですか?
JavaScriptの例: http://bohuco.net/blog/2010/07/html5-websockets-example/
.NETのWebSocket用の特別なクライアントライブラリはありますか?
superWebSocketには、WebSocketサーバーの実装とWebSocketクライアントの実装が含まれています。 SuperWebSocketのプロジェクトページ
Pusher 向けの.NETおよびSilverlightクライアントライブラリを構築しながら、最近この調査を行いました。次のWebSocketクライアントライブラリとプロジェクトが見つかりました。
現時点では、Microsoftの実装がおそらく最も使いやすく、Silverlightライブラリも備えています。 SuperWebSocketsのソースにはSilverlightプロジェクトがありますが、最新のドロップにはありません。
.NET 4.5以降、WebSocketクライアントは System.Net.WebSockets.ClientWebSocket
このサンプルC#アプリは、MSDN Code Webサイトから参照またはダウンロードできます: http://code.msdn.Microsoft.com/WebSockets-middle-tier-5b2972ce/sourcecode 。
質問の賛成票を集めた人にとって、サンプルは主にWebSocketサービスへの接続に焦点を当てています。これは、ネットワーク中心のC#アプリケーションのもう1つの重要なユースケースです。
http://www.nuget.org/packages/Microsoft.AspNet.SignalR/ または http://www.asp.net/signalr を使用できます
ASP.NET SignalRは、リアルタイムWeb機能の開発を容易にするASP.NET開発者向けの新しいライブラリです。 SignalRは、サーバーとサイド間の双方向通信を可能にします。サーバーは、コンテンツが利用可能になったらすぐに接続されたクライアントにコンテンツをプッシュできるようになりました。 SignalRはWeb Socketsをサポートし、古いブラウザー向けの他の互換性のある手法にフォールバックします。 SignalRには、接続管理(たとえば、接続および切断イベント)、接続のグループ化、および承認のためのAPIが含まれています。
高性能なエンタープライズWebSocketサーバーを探している場合は、 Kaazing をご覧ください。 Kaazingは、Xamarinを含む.NETを完全にサポートしています。
AMQPの詳細なチュートリアルは次のとおりです。 チェックリスト:Microsoft .NET AMQPクライアントのビルド 。
[開示:私はKaazingで働いています。]
友人である私は、非常に軽量で無駄のない、スケーラブルなC#websocketサーバーをリリースしました: https://github.com/Olivine-Labs/Alchemy-Websockets
オンラインゲームで使用するために構築したため、最大の関心事は、大量の接続を迅速かつ効率的に処理することでした。私の研究から、最も効率的です。また、ボーナスとして、Websocket対応ブラウザを持たないユーザーのフォールバックとして、Flash Websocketをサポートしています。
はい、 WebSocketプロトコル をサポートする中間サーバーが必要です。このサーバーは、.NETを含む任意の言語で作成できます。 これは1つです .NETの場合、実際にはどの言語でもかまいません。サイトに関する限り、WebSocketサーバーと通信するのはASP.NETおよびjavascriptのクライアント部分です。
XSockets.netを展開しています。フレームワークは非常に良好に機能し、維持されており、開発者は有料サポートを提供していますが、通常の問題についてはSO.
ソケットを実装するための.net APIと、クライアント用のjavascript APIを提供します。
まとめとして、お勧めできます。