您好,欢迎访问一九零五行业门户网

在WorkerMan中为什么要制定协议?

由于tcp是基于流的,客户端发送的请求数据是像水流一样流入到服务端,服务端探测到有数据到来后应该检查数据是否是完整的,因为可能只是一个请求的部分数据到达服务端,甚至可能是多个请求连在一起到达服务端。
如何判断请求是否全部到达或者从多个连在一起的请求中分离请求,就需要规定一套通讯协议。
在workerman中为什么要制定协议?
传统php开发都是基于web的,基本上都是http协议,http协议的解析处理都由webserver独自承担了,所以开发者不会关心协议方面的事情。                         (推荐学习: workerman教程)
然而当我们需要基于非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');
以上就是在workerman中为什么要制定协议?的详细内容。
其它类似信息

推荐信息