workerman使用udp协议的话,客户端如何测试发送数据呢

phpworker2

workerman使用udp协议的话,客户端如何测试发送数据呢?

这是服务端:

<?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;
}

// 当客户端发送消息过来时,转发给所有人
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");
    }
}

// 创建一个文本协议的Worker监听2347接口
$text_worker = new Worker("udp://0.0.0.0:2348");

// 只启动1个进程,这样方便客户端之间传输数据
$text_worker->count = 1;

$text_worker->onConnect = 'handle_connection';
$text_worker->onMessage = 'handle_message';
$text_worker->onClose = 'handle_close';

Worker::runAll();
4814 1 0
1个回答

walkor

可以用netcat去测试。
netcat -u ip port

另外udp协议没有onConnect事件和onClose事件

  • phper 2016-05-11

    使用udp协议,客户端给客户端发消息怎么发呢?

年代过于久远,无法发表回答
🔝