如何在Java中格式化UDP数据包?

时间:2013-02-15 15:54:53

标签: java udp format

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

从开发者页面我只收到以下信息: enter image description here

我该怎么办?在右边部分,它是我需要发送的字符串。

有人能解释什么意思是“挑战”吗?

来自开发者网站:

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

这是什么意思?

  

FF FF FF FF 73 0A

1 个答案:

答案 0 :(得分:3)

正如我在评论中写的那样,你需要发送字节,而不是真正的字符串。所以你必须找出服务器是否使用ascii编码或其他不同的东西,然后以正确的编码获取字符串的字节。

当文档谈到“发送FF 73 ...”时,它意味着发送字节。它是基数16(=“十六进制”)中的数字。创建一个字节“FF”,例如:

byte b = 0xFF; // Hex for 255

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

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

在Java中使用UDP时,您可以参考许多示例和tutorials from oracle

我希望这对你有所帮助。祝好运。