Я пытаюсь сделать простой запрос к 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-сервере находится здесь: http://www.bittorrent.org/beps/bep_0005.html#dht-queries
Но я не понимаю, как это сделать с PHP. Это возможно? В чем проблема с моим кодом?
Как упоминает8484, ваш клиент отправляет p
, что не является допустимым запросом. Чтобы увидеть правильные форматы запросов, смотрите здесь: bep 005