Php 从TCP包输出Minecraft服务器信息
我在德语中找到了这个工作代码: 我在哪里知道需要在套接字中写入什么(如第3行)? 我用wireshark嗅到了结果包中的所有信息。。。 如何能够像Wireshark那样回显数据?当您调用Php 从TCP包输出Minecraft服务器信息,php,sockets,tcp,Php,Sockets,Tcp,我在德语中找到了这个工作代码: 我在哪里知道需要在套接字中写入什么(如第3行)? 我用wireshark嗅到了结果包中的所有信息。。。 如何能够像Wireshark那样回显数据?当您调用fwrite()时,您正在向处理程序写入一些内容。在本例中,您正在写入连接到服务器的套接字xFE是十六进制的FE值(十进制为254) 然后调用fread()。这将读取与处理程序关联的响应。在本例中,您正在读取服务器的响应数据 if ($answer[0] != "\xFF") { die ('Anfrage
fwrite()
时,您正在向处理程序写入一些内容。在本例中,您正在写入连接到服务器的套接字xFE
是十六进制的FE
值(十进制为254)
然后调用fread()
。这将读取与处理程序关联的响应。在本例中,您正在读取服务器的响应数据
if ($answer[0] != "\xFF") {
die ('Anfrage fehlgeschlagen!');
}
此代码检查服务器响应数据的第一个字节是否不是FF
(十进制255)。例如,如果服务器发送0F
,则进程结束(die())
我不熟悉Minecraft服务器的状态,但我的建议是检查是否有效。代码已记录在案。好的,谢谢您的回复!我知道这个类,但是没有太多关于十六进制值的信息。我将尝试通过Google了解更多信息:(:)我在Google上搜索了minecraft服务器协议
fwrite($fp, "\xFE");
$answer = fread($fp, 256);
if ($answer[0] != "\xFF") {
if ($answer[0] != "\xFF") {
die ('Anfrage fehlgeschlagen!');
}