0

我需要使用 UDP 向 IP 地址发送一些数据。我不知道如何格式化我的字符串。我需要发送多个数据包吗?

从开发人员页面我只得到以下信息: 在此处输入图像描述

我应该做些什么?在右侧部分是我需要发送的字符串。

谁能解释一下“挑战”是什么意思?

从开发者网站:

游戏服务器初始化后不久,它会选择两个主服务器“加入”。为了让客户在单击“Internet”选项卡时看到特定的游戏服务器,游戏服务器必须存在于 Steam 主服务器的记录中。游戏服务器向每个主服务器发送“q”(71)。每个主服务器通过发送 FF FF FF FF 73 0A 后跟(相对)唯一的 4 字节“挑战”号来响应。如果您向主服务器发送无效质询,您将收到另一个质询作为响应。

这是什么意思?

FF FF FF FF 73 0A

4

1 回答 1

3

正如我在评论中所写,您需要发送字节,而不是真正的字符串。因此,您必须确定服务器是否使用 ascii 编码或不同的编码,然后以正确的编码获取字符串的字节。

当文档谈到“发送 FF 73 ...”时,它意味着发送字节。它是一个以 16 为底的数字 (="Hexadecimal")。例如,创建一个字节“FF”,如下所示:

byte b = 0xFF; // Hex for 255

当文档谈到发送“q(71)”时,它意味着发送一个字节(0x71),它在ascii中编码字母“q”。

关于“挑战”,请阅读Wikipedia并更深入地咨询开发人员文档。我相信他们会在这件事上说得更多。

关于在 Java 中使用 UDP,您可以参考oracle 中的许多示例和教程

于 2013-02-16T12:25:19.000 回答