workerman使用udp協(xié)議的話,客戶端如何測試發(fā)送數(shù)據(jù)呢?
這是服務端:
<?php
use Workerman\Worker;
require_once 'Workerman/Autoloader.php';
$global_uid = 0;
// 當客戶端連上來時分配uid,并保存連接,并通知所有客戶端
function handle_connection($connection)
{
global $text_worker, $global_uid;
// 為這個鏈接分配一個uid
$connection->uid = ++$global_uid;
}
// 當客戶端發(fā)送消息過來時,轉(zhuǎn)發(fā)給所有人
function handle_message($connection, $data)
{
global $text_worker;
foreach($text_worker->connections as $conn)
{
$conn->send("user said: $data");
}
}
// 當客戶端斷開時,廣播給所有客戶端
function handle_close($connection)
{
global $text_worker;
foreach($text_worker->connections as $conn)
{
$conn->send("user logout");
}
}
// 創(chuàng)建一個文本協(xié)議的Worker監(jiān)聽2347接口
$text_worker = new Worker("udp://0.0.0.0:2348");
// 只啟動1個進程,這樣方便客戶端之間傳輸數(shù)據(jù)
$text_worker->count = 1;
$text_worker->onConnect = 'handle_connection';
$text_worker->onMessage = 'handle_message';
$text_worker->onClose = 'handle_close';
Worker::runAll();