Workerman 工作原理,如何实现连接不在同一个进程传递消息。

0

Workerman 使用“Websocket”协议,开启两个子进程监听客户端连接。


描述:单机Workerman 开启4个worker子进程且开启端口复用,那么客户端连接的时候。每个客户端都有一个TcpConnection 对象实例,均保存在各自Worker 内存。


疑问一:如果来自多个websocket 客户端,但是他们的连接实例均不在同一进程。不在同一个Worker实例,那么是如何发送消息的嘛?


疑问二:Workerman Epoll write事件,在什么情况下会触发?
复杂的话,能否提供一篇靠谱的文章链接??


在此谢谢了~~-

已邀请:

blogdaren - 常年游走于 LINUX、PHP内核、C、VIM 之间【http://www.phpcreeper.com】

赞同来自:

1、跨进程通信使用官方的分布式channel组件:http://doc.workerman.net/components/channel.html
2、epoll的可写事件触发条件,简单理解就是:
LT模式:只要socket内核发送缓冲区未满,就会持续触发可写事件;
ET模式:当socket内核发送缓冲区未满时只会触发一次可写事件,只有发送缓冲区满并且再次变为未满时才会再次触发可写事件。

要回复问题请先登录注册