Welcome to MLink Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
493 views
in Technique[技术] by (71.8m points)

Workerman多进程时,怎么向别的进程管理的连接发消息?

我现在要做一个远程控制设备的程序,整体结构如下:

设备1,设备2,……
| /
服务器
|
控制台1,控制台2,……

每台设备可以有多个控制台,每个控制台只能控制一台设备。

目前服务器采用 Workerman 的 WebSocket 协议把控制台和设备连起来。我的问题是,当多个 Worker 进程时,如果控制台和设备的连接不在同一个进程里,比如,设备1 发生状况时,向所有关注它的控制台发出通知,但可能有部分控制台在另一个进程里,怎么通知它们呢?

谢谢!


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

最佳实践应该是引入 MQ(Message Queue),通过订阅消息来实现你的需求,这样可以跟具体的实现解耦。

差一点儿的话你就得搞进程通讯来。像 WorkerMan 本身提供了 Channel 组件可以用于进程间通信。如果要跟操作系统强耦合的话,也可以用 Linux 上提供的共享内存之类的。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to MLink Developer Q&A Community for programmer and developer-Open, Learning and Share
...