直接用docker跑环境

docker pull xlight/docker-php7-swoole
docker run -it -v ~/Projects/php/swoole:/workdir -p 9501:9501 xlight/docker-php7-swoole /bin/bash
php workdir/app_server.php start

 

app_server.php

<?php

$serv = new swoole_server("0.0.0.0", 9501);

$serv->set(array(
    'package_max_length' => 8192,
    'open_length_check'=> true,
    'package_length_offset' => 0,

    //大小端默认,组包方式{packet, 2}
    // 'package_body_offset' => 2,
    // 'package_length_type' => 'n'

    //大小端默认,组包方式{packet, 4}
    'package_body_offset' => 4,
    'package_length_type' => 'N'
));

$port = $serv->listen('127.0.0.1', 9502, SWOOLE_SOCK_UDP);
$port->on('packet', function($serv, $data, $addr){
    var_dump($serv, $data, $addr);
});

$serv->on('connect', function ($serv, $fd, $from_id){
    echo "[#".posix_getpid()."]\tClient@[$fd:$from_id]: Connect.\n";
});

$serv->on('receive', function (swoole_server $serv, $fd, $from_id, $data) {
    echo "[#".$serv->worker_id."]\tClient[$fd]: $data\n";
    if ($serv->send($fd, "hello\n") == false)
    {
        echo "error\n";
    }
});

$serv->on('close', function ($serv, $fd, $from_id) {
    echo "[#".posix_getpid()."]\tClient@[$fd:$from_id]: Close.\n";
});

$serv->start();

 

参数参考地址

 

相关文章:

  • 2022-12-23
  • 2021-08-24
  • 2021-07-08
  • 2021-08-17
  • 2021-08-11
  • 2021-11-24
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-10-20
  • 2021-10-16
  • 2022-12-23
  • 2021-06-12
  • 2022-12-23
  • 2021-11-08
  • 2022-12-23
相关资源
相似解决方案