WorkerMan制定协议的原因是什么,支持的协议有哪些
Admin 2022-07-22 群英技术资讯 507 次浏览
由于TCP是基于流的,客户端发送的请求数据是像水流一样流入到服务端,服务端探测到有数据到来后应该检查数据是否是完整的,因为可能只是一个请求的部分数据到达服务端,甚至可能是多个请求连在一起到达服务端。
如何判断请求是否全部到达或者从多个连在一起的请求中分离请求,就需要规定一套通讯协议。
在WorkerMan中为什么要制定协议?
传统PHP开发都是基于Web的,基本上都是HTTP协议,HTTP协议的解析处理都由WebServer独自承担了,所以开发者不会关心协议方面的事情。
然而当我们需要基于非HTTP协议开发时,开发者就需要考虑协议的事情了。
WorkerMan已经支持的协议
WorkerMan目前已经支持HTTP、websocket、text协议(见附录说明)、frame协议(见附录说明),ws协议(见附录说明),需要基于这些协议通讯时可以直接使用,使用方法及时在初始化Worker时指定协议,例如
use Workerman\Worker; // websocket://0.0.0.0:2345 表明用websocket协议监听2345端口 $websocket_worker = new Worker('websocket://0.0.0.0:2345'); // text协议 $text_worker = new Worker('text://0.0.0.0:2346'); // frame协议 $frame_worker = new Worker('frame://0.0.0.0:2347'); // tcp Worker,直接基于socket传输,不使用任何应用层协议 $tcp_worker = new Worker('tcp://0.0.0.0:2348'); // udp Worker,不使用任何应用层协议 $udp_worker = new Worker('udp://0.0.0.0:2349'); // unix domain Worker,不使用任何应用层协议 $unix_worker = new Worker('unix:///tmp/wm.sock');
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
我们在开发中常会需要程序定时的执行一些操作,这时写一个简洁高效的定时器就非常有必要,关于定时器本文将给大家详细的介绍,对大家的学习或工作具有一定的参考借鉴价值
安装开始在PHP中使用Redis前,我们需要确保已经安装了redis服务及PHPredis驱动,且你的机器上能正常使用PHP。
一、总结1、php的全局变量:php的全局变量和C++,Java的全局变量不一样2、页面嵌套php:我在html页面中嵌套php代码的时候,php的全局变量好像和C++,Java的全局变量一样,好像是,记不清了3、php全局变量使用:php全局变量用global定义一下就好,就在外面定义global是错的,必须在函数内声明4、global定义全局变量:global定义全局变量的时候,不能一
在本文中,我们将看看什么是数据库事务,为什么它们很重要,以及如何在 Laravel 开始使用它们。我们还将研究一个常见的“问题”,涉及队列和数据库事务。
通过参数列表可以传递信息到函数,即以逗号作为分隔符的表达式列表。参数是从左向右求值的。PHP支持按值传递参数(默认),通过引用传递参数以及默认参数。也支持可变长...
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008