私はJavaでスプレッドシートアプリケーションを持っています、そしてそれが提供する機能の1つ(私が開発した)はシート共有です。基本的に、アプリにはサーバーコードとクライアントコードの両方があるため、誰でもクライアントまたはサーバーになることができます。サーバーであるユーザーが共有を作成し、IPを指定すると、共有が作成されてアクティブになり(最良のシナリオ)、サーバーはIPと選択されたポートでクライアントをリッスンします。
自動検出には、UDPブロードキャストを介してDatagramSocketsを使用していますが、「実際の通信」はTCPベースです(クライアントがすでに接続されている後)。ただし、そのUDPソケットを介して送信しようとしていますがList
、その方法がわかりません。これList
には、クライアントに送信する必要があるサーバー上のアクティブな共有が含まれているため、クライアントは何に接続できるかがわかります。
こんなふうになります:
クライアント->ネットワークにパケットを送信してアクティブなサーバーを探します->サーバーはパケットをリッスンして送り返します。このパケットはList
(これらの種類のソケットを介して送信できる場合)である必要があります。
誰かが私の質問に光を当てることができますか?ありがとうございました。