Servidor DHT da consulta

Estou tentando fazer uma consulta simples para um servidor DHT.

Estou tentando fazer um exemplo simples e simples para testar consultas aos servidores, mas não recebo uma resposta do servidor de qualquer forma …

Pequeno exemplo:

$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); 

As informações sobre as consultas no servidor DHT estão aqui: http://www.bittorrent.org/beps/bep_0005.html#dht-queries

Mas não entendo como fazer isso com o PHP. Isso é possível? Qual o problema com o meu código?

À medida que o 8472 menciona, seu cliente está enviando p , o que não é uma consulta válida. Para ver os formatos de consulta válidos, veja aqui: bep 005