workerman
Posted jw-yahui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了workerman相关的知识,希望对你有一定的参考价值。
yum install php-process
即可安装pcntl和posix扩展
需要了解的基本概念
1、TCP传输层协议
TCP是一种面向连接的、可靠的、基于IP的传输层协议。TCP传输层协议一个重要特点是TCP是基于数据流的,客户端的请求会源源不断的发送给服务端,服务端收到的数据可能不是一个完整的请求,也有可能是多个请求连在一起。这就需要我们在这源源不断的数据流中区分每个请求的边界。而应用层协议主要是为请求边界定义一套规则,避免请求数据混乱。
2、应用层协议
应用层协议(application layer protocol)定义了运行在不同端系统上(客户端、服务端)的应用程序进程如何相互传递报文,例如HTTP、WebSocket都属于应用层协议。例如一个简单的应用层次协议可以如下{"module":"user","action":"getInfo","uid":456}\n"
。此协议是以"\n"
(注意这里"\n"
代表的是回车)标记请求结束,消息体是字符串。
3、短连接
短连接是指通讯双方有数据交互时,就建立一个连接,数据发送完成后,则断开此连接,即每次连接只完成一项业务的发送。像WEB网站的HTTP服务一般都用短连接。
短连接应用程序开发可以参考基本开发流程一章
4、长连接
长连接,指在一个连接上可以连续发送多个数据包。
注意:长连接应用必须加心跳,否则连接可能由于长时间不活跃而被路由节点防火墙断开。
长连接多用于操作频繁,点对点的通讯的情况。每个TCP连接都需要三步握手,这需要时间,如果每个操作都是先连接,再操作的话那么处理速度会降低很多。所以长连接在每个操作完后都不断开,下次处理时直接发送数据包就OK了,不用建立TCP连接。例如:数据库的连接用长连接,如果用短连接频繁的通信会造成socket错误,而且频繁的socket 创建也是对资源的浪费。
当需要主动向客户端推送数据时,例如聊天类、即时游戏类、手机推送等应用需要长连接。 长连接应用程序开发可以参考Gateway/Worker开发流程
以上是关于workerman的主要内容,如果未能解决你的问题,请参考以下文章