いくつかのメッセージング ライブラリとプロトコル (ZeroMQ、WAMP など) を評価しています。私の主な要件の 1 つは、クライアントからサーバーへのメッセージの送信とその逆 (双方向通信) は、クライアント/サーバーのクラッシュに対して絶対に安全でなければならないということです。これは、たとえば、クライアントは自発的な再起動後、配信されなかったすべてのメッセージを送信し続ける必要があることを意味します。そのため、ライブラリは何らかのファイル ベースのバッファリングを実装する必要があります。箱から出して使えるものはありますか?
[編集] 私の使用例に関するいくつかの注意: 私のシナリオでは、1 つのサーバーと通信する約 1000 のクライアントがあります。クライアントからクライアントへの直接通信は必要ありません。しかし、双方向通信が必要なので、クライアントがサーバーにデータをプッシュしたり、その逆を行ったりすることができます。クライアントは 3G モバイル ネットワーク経由で接続されます。クライアントとサーバーの両方が C# で記述されています。ZeroMQ、Apache Thrift、または WAMP の使用に焦点を当てました。しかし、主な要件の 1 つは、システム クラッシュに関して非同期で安全なメッセージングを保証することです。そのため、クライアントがサーバーへの非同期データ プッシュを開始し、メッセージがサーバーに配信される前にクラッシュした場合、クライアントは再起動後もメッセージの送信を続行する必要があります。