我想使用workerman嘗試編寫一個dht爬蟲,而dht爬蟲是基于udp協(xié)議的,現(xiàn)在看了下workerman不是太了解,想請教下。
是否支持udp開發(fā)?
是否可以開發(fā)dht網(wǎng)絡(luò)?
當我創(chuàng)建一個dht服務(wù)器后,如何接收客戶端發(fā)送來的信息,并判斷是什么請求?
比如我偽裝為dht服務(wù)器,那么當有客戶請求是,如何判斷請求的數(shù)據(jù)是:ping, find_node, get_peers,announce_peer這些請求中的哪一種呢?
1、支持udp協(xié)議
2、只要是基于tcp或者udp基礎(chǔ)上的網(wǎng)絡(luò)應(yīng)用程序都可以用workerman開發(fā)
3、
確保workerman版本為3.1.4及以上版本
require_once './Workerman/Autoloader.php';
use Workerman\Worker;
$dht = new Worker('udp://0.0.0.0:1700');
$dht->onMessage = function($connection, $data)
{
// $data為收到的請求,是何種請求需要根據(jù)dht網(wǎng)絡(luò)協(xié)議規(guī)則去解析
// 回復(fù)數(shù)據(jù)直接send就可以
$connection->send(‘hello’);
};
// 運行worker
Worker::runAll();