Javaでネットワークをプログラミングするのは初めてです。ネットワーク全体のすべてのノードに何らかの形でブロードキャストする方法を探していました。彼らに私の存在を知らせるために。マルチプレイヤー ネットワーク ゲームを作成しようとしていますが、クライアントが利用可能なすべてのゲームを表示して、参加するゲームを選択できるようにしたいと考えています。サーバーからブロードキャストする方法と、クライアントにリッスンさせる方法を知りたいです。
簡単にしてください、私は初心者です:)
前もって感謝します。
Javaでネットワークをプログラミングするのは初めてです。ネットワーク全体のすべてのノードに何らかの形でブロードキャストする方法を探していました。彼らに私の存在を知らせるために。マルチプレイヤー ネットワーク ゲームを作成しようとしていますが、クライアントが利用可能なすべてのゲームを表示して、参加するゲームを選択できるようにしたいと考えています。サーバーからブロードキャストする方法と、クライアントにリッスンさせる方法を知りたいです。
簡単にしてください、私は初心者です:)
前もって感謝します。
データ パケットをブロードキャストするには、特定のサブネットのブロードキャスト アドレス (サブネットの最後のアドレス) に送信します。IPは、ゼロ ネットワーク255.255.255.255のブロードキャスト アドレスです。
IP ブロードキャスト アドレス 255.255.255.255 には、特別な定義が存在します。これは、ゼロ ネットワークまたは 0.0.0.0 のブロードキャスト アドレスであり、インターネット プロトコル標準ではこのネットワーク、つまりローカル ネットワークを表します。このアドレスへの送信は、ローカル ネットワークをインターネットに接続しているルーターによって転送されないという点で、定義によって制限されています。
したがって、現在のネットワークにブロードキャストするには、パケットを に送信します255.255.255.255。
用語を混同しないでください。
ブロードキャストは通常、UDP に使用されます。UDP は、すべてのパケットがクライアントによって受信されたかどうかをチェックしないという意味で信頼性が低くなります。多数のクライアントへの多数の TCP 接続を開くことは、ブロードキャストではありません。
クライアントにポートをリッスンさせるには、ServerSocket を使用して読み取る必要があります。
PubSubHubbubまたは同様のプロトコルを使用することをお勧めします。基本的に、「ブロードキャスト」したい通知を送信する「ハブ」があります。各ノードは、新しいデータが到着したときにハブが呼び出すことができる URL を提供することによって、トピックにサブスクライブします。「ハブ」がこのブロードキャストを受信すると、ハブは各サブスクリプション URL に接続して、新しいデータがあることをノードに知らせます。