Php 查询DHT服务器
我正在尝试对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
$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请求