1

私は現在、クライアント システム、ユーザー システム、およびサーバーがあるプロジェクトに取り組んでいます。この例では、 Client AServerUser Aを使用します。

クライアントAはキープアライブパケットをサーバーに送信し、サーバーはソケット情報をクライアントID付きのハッシュマップ/リストとして保存します。このようにして、より多くのクライアントを hashmap/ リストに追加できます。

ユーザー Aはクライアント Aに情報を送信したいので、サーバーに接続してクライアント Aにメッセージを送信します。サーバーは、ハッシュマップ/リストから関連するソケット情報をフェッチし、それをユーザー Aに渡すか、サーバーが両方のソケットを結合します。

ソケットを一緒にマージするこの部分では、少し無知です。ご意見やご提案をお待ちしております。現在、私は ZeroMQ を試していますが、どこにも行きません。他のフレームワーク、API、またはライブラリを調べることができますか?

4

1 に答える 1

1

クライアント A への接続をユーザー A に渡すことはできませんが、両方のソケットを結び付けることができます。これには 2 つのスレッドが必要です。1 つはユーザー ソケットから読み取ってクライアント ソケットに書き込み、もう 1 つはクライアント ソケットから読み取ってユーザー ソケットに書き込みます。2 つのスレッドではリソースの消費量が多すぎる場合は、NIO ライブラリの使用を検討してください (多数あります)。

于 2013-09-11T08:34:45.583 に答える