Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.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 查询DHT服务器_Php_Udp_Dht - Fatal编程技术网

Php 查询DHT服务器

Php 查询DHT服务器,php,udp,dht,Php,Udp,Dht,我正在尝试对DHT服务器进行一个简单的查询 我试图用一个简单的例子来测试对服务器的查询,但是我没有从服务器得到任何形式的响应 小例子: $socket = fsockopen("udp://router.bittorrent.com", 6881, $errno, $errstr, 3); fwrite($socket, 'p'); $Head = fread($socket, 4); $CheckStatus = socket_get_status($socket); if($Ch

我正在尝试对DHT服务器进行一个简单的查询

我试图用一个简单的例子来测试对服务器的查询,但是我没有从服务器得到任何形式的响应

小例子:

$socket = fsockopen("udp://router.bittorrent.com", 6881, $errno, $errstr, 3);
fwrite($socket, 'p'); $Head = fread($socket, 4);
$CheckStatus = socket_get_status($socket);      
if($CheckStatus["unread_bytes"] == 0)
{
    return 0;
}   
$do = 1;
while($do)
{
    $str = fread($socket,1);
    $stats .= $str;
    $status = socket_get_status($socket);
    if($status["unread_bytes"] == 0)
    {
        $do = 0;
    }
}
fclose($socket);
有关DHT server中查询的信息如下:

但我不明白如何用PHP实现这一点。
这可能吗?我的代码有什么问题?

正如8472所提到的,您的客户正在发送
p
,这不是一个有效的查询。要查看有效的查询格式,请查看此处:

正如8472中提到的,您的客户端正在发送
p
,这不是有效的查询。要查看有效的查询格式,请查看此处:

这里有任何DHT Torrent查询示例吗?我建议不要使用PHP进行此类操作,因为它不适合处理bittorrent kademlia实现中使用的二进制数据。至于您的查询,
p
不是一个有效的bencoded DHT Request任何DHT Torrent查询示例?我建议不要使用PHP进行此类查询,它不适合处理bittorrent kademlia实现中使用的二进制数据。对于您的查询,
p
不是一个有效的bencoded DHT请求