php swoole udp,基于Swoole如何搭建UDP服务?
本节将会讲解如下2个问题:
通过Swoole如何搭建UPD服务?对比TCP和UDP有什么不同?
01通过Swoole如何搭建UPD服务
新建一个文件命名为 udp_server.php,代码如下:
在命令行执行如下命令就可以开启TCP服务:
php udp_server.php
运行完命令后就可以通过 netstat 工具查看服务是否启动成功,如果已经在监听9501端口了,这时就可以使用 netcat 工具来连接服务器了。
netcat -u 127.0.0.1 9502
helloServer: hello
同时服务端命令行会返回如下信息:
array(4) {
["server_socket"] => int(3)
["server_port"] => int(81)
["address"] => string(9) "127.0.0.1"
["port"] => int(10000)
}
02TCP和UDP有什么不同
UDP服务和TCP服务不同,UDP没有连接的概念。启动Server后,客户端无需 Connect,直接可以向Server监听的9502端口发送数据包。UDP服务端收到UDP数据包后会回调 onPacket 函数,此事件发生在 Worker进程中。onPacket 函数如下:
function onPacket(Swoole\Server $server, string $data, array $client_info);
$server 参数是 Swoole 中的 Server 对象$data 字段是UDP服务接收到的内容,可能是文本格式或者二进制内容$client_info 字段存放的是客户端信息,包括 address/port/server_socket 等多项客户端信息数据
当服务器同时监听 TCP/UDP 端口时,收到 TCP 协议的数据会回调 onReceive,收到 UDP 数据包会回调 onPacket 函数。服务器设置的 EOF 或 Length 等自动协议处理对于 UDP 端口时无效的,因为 UDP 包本身存在消息边界,不需要额外的协议处理。
php swoole udp,基于Swoole如何搭建UDP服务?相关推荐
- php 游戏开发swoole,《基于 Swoole 的对战游戏实践》开课啦
项目由来 在三月份的时候就开始编写这个项目,原本只是觉得自己对 Swoole 不太熟练,当作练手来写着玩的.写着写着发现还挺好玩的,代码量也不多,捉迷藏游戏的趣味性不错. 如果只写完代码就扔在 Git ...
- 基于python Flask搭建mockServer服务
前言: 为什么要用mockserver呢!我们自己内部接口需要使用微信,支付宝的支付功能,就需要验证和打钱才能返回固定的成功返回信息,成本太高,我们就可以用MockServer来模拟返回,绕过验证. ...
- 基于Nginx模块搭建直播服务
转载请标明出处: https://blog.csdn.net/u014214308/article/details/82698542 直播技术原理: 客户端(A:主播,推流)通过摄像头采集到视频数据, ...
- linux脚本发送udp,基于shell脚本实现UDP端口探测
shell提供了一种建立TCP/UDP连接的方法:/dev/udp/host/port /dev/tcp/host/port 所以,直接重定向当前shell的一个文件描述符到对应的ip/端口:exec ...
- 基于Linux CentOS搭建FTP服务
vsftpd(very secure FTP daemon)是一款在Linux发行版中最受推崇的FTP服务器.vsftpd支持匿名访问和本地用户模式两种访问方式.匿名访问方式任何用户都可以访问搭建的F ...
- 基于 SoapUI 工具测试 Rest 服务
简介 SoapUI 是一个免费的.开源的.跨平台的测试工具.支持多种协议,例如:SOAP, REST, HTTP, JMS, AMF 和 JDBC.通过 SoapUI 可以方便快速地进行自动化测试 ...
- PHP 接收 UDP包_php只能做网站?基于swoole+websocket开发双向通信应用
前言 众所周知,PHP用于开发基于HTTP协议的网站应用非常便捷.而HTTP协议是一种单向的通信协议,只能接收客户端的请求,然后响应请求,不能主动向客户端推送信息.因此,一些实时性要求比较高的应用,如 ...
- tcp连接工具_基于Swoole如何搭建TCP服务,你掌握了吗?
本节将会讲解以下3个问题: 通过Swoole如何搭建TCP服务? 通过Swoole如何搭建TCP客户端? 通过Swoole搭建的TCP服务,更深入理解Swoole的事件驱动模式 通过Swoole可以快 ...
- 基于 Swoole 的 swoolefy 4.2.0 正式发布
swoolefy是一个基于swoole实现的轻量级高性能的常驻内存型的API和Web应用服务框架, 高度封装了http,websocket,udp服务器,以及基于tcp实现可扩展的rpc服务, 同时支 ...
最新文章
- 跳槽“六要”你懂吗?[转载]
- 学习,是前进的必由之路
- 汇编指令长度计算方法
- 微软超级麻将AI Suphx论文发布,研发团队深度揭秘技术细节
- PowerShell全自动分配CPU
- Visual Assist X Options 注释设置-类
- 【java学习之路】(java SE篇)002.java SE基础语法
- matlab可以用python代替吗_Python 会不会替代 MATLAB
- 计算机图形学完整笔记(八):曲线曲面 - 2
- 【Oracle】rollup函数
- 微信小程序服务通知模板的实现
- 五年上市路,君亭才刚刚出发
- Lipschitz连续,一致连续
- SQLPro for SQLite for Mac(SQLite编辑器)
- Matplotlib绘图9种经典风格,你喜欢哪种?
- 计算机自动计算的条件,电脑表格怎样自动计算
- ros:游戏手柄控制海龟
- 神经网络种类及应用领域,常用的神经网络有哪些
- EXT JS 4.3 在线学习
- 编码标准:纪律和人因工程的双剑合璧