0

Java クライアント Socket が Java サーバーの ServerSocket に接続されている場合、クライアント クラスで Java サーバー オブジェクトを取得するにはどうすればよいでしょうか。

私は Socket クラスを見てきましたが、Socket.connect()ion を介してサーバー オブジェクトを取得する方法はないようです。

私が尋ねている理由は、クライアントからサーバーへの指示を送信して、クライアントがサーバーからのさらなる更新を購読することを登録解除したいからです。サーバーとクライアントの関係は、オブザーバー パターンに基づいています。

命令を実行するには、サーバー オブジェクトを取得する必要があると思います。

Observerパターンとサーバークライアントソケット関係を組み合わせたものをGoogleまたはstackoverflow.comで見つけられなかったため、この質問をしています。

もちろん、それは私のアプローチに最終的な欠陥があることを示している可能性がありますが、そうである場合は、他の人への警告にしましょう:)

4

1 に答える 1

2

あなたが何を求めているのか100%明確ではありませんが、ここに行きます。

リモートクライアントがサーバー側に完了したことを示したい場合は、サーバー側が完了を意味することを理解するメッセージを送信してから、サーバー側とクライアントでソケットオブジェクトを閉じます。サーバー ソケットは、必要に応じてさらに多くの接続をリッスンし続ける場合があります。

サーバー側でクライアント接続を処理するソケットがサーバー ソケットをシャットダウンして、受信接続をリッスンしないようにする場合は、クライアント接続を処理しているソケットを処理しているコードに両方のソケットを渡すだけです。

于 2012-04-28T05:51:21.983 に答える