swoole学习第三讲(创建udp服务器)

docker workspace 容器开放9502端口
      ports:
        - "${WORKSPACE_SSH_PORT}:22"
        - "9501:9501"
        - "9502:9502/udp"

通过netstat命令可以查看我们映射的端口

默认docker开放的端口是tcp协议,如果开放udp端口需要加udp标识

创建udpServer
// 创建server对象,监听127.0.0.1:9502端口,类型为SWOOLE_SOCK_TCP
$serv = new swoole_server('0.0.0.0', 9502, SWOOLE_PROCESS, SWOOLE_SOCK_UDP);

// 监听服务器启动事件
$serv->on('start', function ($serv) {
    echo "Start \n";
});

//监听数据接收事件
$serv->on('Packet', function ($serv, $data, $clientInfo) {
    $serv->sendto($clientInfo['address'], $clientInfo['port'], "Server " . $data);
    var_dump($clientInfo);
});

// 启动服务器
$serv->start();
window下载netcat工具模拟udp发包

附下载地址://www.greatytc.com/p/0c744454cd8c

启动服务器

docker-compose exec workspace bash // 进入workspace容器启动udpServer
php udp_server.php // 启动服务器

启动客户端向udpServer发送消息

.\nc.exe -u 127.0.0.1 9502 // 启动客户端连接
下图展示了我们向服务器发送的信息并且服务器给客户端的响应

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一 、什么是 Docker Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国...
    Blazzer阅读 3,176评论 0 13
  • 计算机网络概述 网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输。 按照计算机网络的定义,通过一定...
    蛋炒饭_By阅读 1,243评论 0 10
  • 端口:0 服务:Reserved 说明:通常用于分析操作系统。这一方法能够工作是因为在一些系统中“0”是无效端口,...
    萧玄辞阅读 1,221评论 0 2
  • 《Docker从入门到实践》阅读笔记 原书地址: https://yeasy.gitbooks.io/docker...
    GuoYuebo阅读 11,422评论 1 39
  • 五、Docker 端口映射 无论如何,这些 ip 是基于本地系统的并且容器的端口非本地主机是访问不到的。此外,除了...
    R_X阅读 1,792评论 0 7