Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从TCP包输出Minecraft服务器信息_Php_Sockets_Tcp - Fatal编程技术网

Php 从TCP包输出Minecraft服务器信息

Php 从TCP包输出Minecraft服务器信息,php,sockets,tcp,Php,Sockets,Tcp,我在德语中找到了这个工作代码: 我在哪里知道需要在套接字中写入什么(如第3行)? 我用wireshark嗅到了结果包中的所有信息。。。 如何能够像Wireshark那样回显数据?当您调用fwrite()时,您正在向处理程序写入一些内容。在本例中,您正在写入连接到服务器的套接字xFE是十六进制的FE值(十进制为254) 然后调用fread()。这将读取与处理程序关联的响应。在本例中,您正在读取服务器的响应数据 if ($answer[0] != "\xFF") { die ('Anfrage

我在德语中找到了这个工作代码:

我在哪里知道需要在套接字中写入什么(如第3行)? 我用wireshark嗅到了结果包中的所有信息。。。 如何能够像Wireshark那样回显数据?

当您调用
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!');
}