繁体   English   中英

如何用Java格式化UDP数据包?

[英]How to format UDP packet in Java?

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

在开发人员页面上,我仅获得以下信息: 在此处输入图片说明

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

谁能解释什么是“挑战”?

从开发者站点:

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

这是什么意思?

FF FF FF FF 73 0A

正如我在评论中所写,您需要发送字节,而不是字符串。 因此,您必须找出服务器是否以ascii编码或其他方式工作,然后以正确的编码获取字符串的字节。

当文档讨论“发送FF 73 ...”时,表示发送字节。 它是一个以16为底的数字(=“ Hexadecimal”)。 像这样创建一个字节“ FF”:

byte b = 0xFF; // Hex for 255

当文档讨论发送“ q(71)”时,意味着发送一个字节(0x71),该字节以ascii编码字母“ q”。

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

在Java中使用UDP时,您可以查阅oracle的许多示例和教程

希望对您有帮助。 祝好运。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM