0

UDP を使用して IP アドレスにデータを送信する必要があります。文字列をフォーマットする方法がわかりません。複数のデータ パケットを送信する必要がありますか?

開発者ページから、次の情報のみを取得します。 ここに画像の説明を入力

私はどうしたらいいですか?右側のセクションは、送信する必要がある文字列です。

「チャレンジ」の意味を説明できる人はいますか?

開発者サイトから:

ゲーム サーバーが初期化された直後に、2 つのマスター サーバーが選択されて「参加」します。クライアントが [インターネット] タブをクリックしたときに特定のゲーム サーバーを表示するには、そのゲーム サーバーが Steam マスター サーバーのレコードに存在する必要があります。ゲームサーバーは、各マスターサーバー「q」を送信します(71)。マスターサーバーはそれぞれ、FF FF FF FF 73 0A に続いて (比較的) 一意の 4 バイトの「チャレンジ」番号を送信することで応答します。マスター サーバーに無効なチャレンジを送信すると、別のチャレンジが応答として返されます。

これは何を意味するのでしょうか?

FF FF FF FF 73 0A

4

1 に答える 1

3

コメントに書いたように、実際には文字列ではなく、バイトを送信する必要があります。したがって、サーバーがASCIIエンコーディングまたは別の何かで動作するかどうかを確認してから、正しいエンコーディングで文字列のバイトを取得する必要があります。

ドキュメントが「FF73を送信する...」について話すとき、それはバイトを送信することを意味します。これは基数16(= "Hexadecimal")の数値です。バイト「FF」は、たとえば次のように作成されます。

byte b = 0xFF; // Hex for 255

ドキュメントが「q(71)」の送信について話すとき、それはASCIIの文字「q」をエンコードするバイト(0x71)を送信することを意味します。

「チャレンジ」については、ウィキペディアを読んで、開発者向けドキュメントをもう少し詳しく調べてください。私は彼らがその問題についてもっと言うと確信しています。

JavaでUDPを使用する場合は、oracleの多くの例とチュートリアルを参照できます。

于 2013-02-16T12:25:19.000 に答える