WorkerMan开启一个主进程和多个子进程对外提供服务,主进程负责监控子进程,子进程独自监听网络连接并接收发送及处理数据,由于进程模型简单,使得WorkerMan更加稳定,更加高效。
在ThinkPHP中集成的WorkerMan默认开启4个子进程,通过vendor/topthink/think-worker/src/Server.php文件中Server类的属性$processes的值决定创建多少个子进程,默认是4。
由于WorkerMan默认会创建4个进程,在每个进程中监听了两个端口,一个是外部客户端连接用的端口,第二个是内部通信用的端口。
在每个进程中,会维护一个客户端连接对象的列表;
问题在于,客户端创建连接时可能用到子进程A,而内部通信可能使用了子进程B;
- 本文固定链接: http://jingyan.idoubi.net/4969.html
- 转载请注明: 游戏创作者大陆 于 逗分享开发经验 发表