关于nodejs,集群问题,socket.io

卞林 发布于 2016/03/26 09:03
阅读 419
收藏 0

@swingcoder 你好,想跟你请教个问题:你好,我想问个问题,就是,在集群的时候,会有多个node进程,当从一个浏览器推送过来的消息(一个node进程),等我准备好数据emit的时候(可能是另一个进程),我怎么使消息发送给原来的进程(即消息来源浏览器)。能不能详细说下,谢谢。


另外,想问下另一个问题,在一个浏览器同时打开两个页面,狂刷一个页面,另一个页面也同样获得socket信息,想咨询一下,怎么往指定的页面发消息,我知道怎么弄了,用socket而不用io就好了。

加载中
0
hisune
hisune

已经有官方的实现方式了,利用redis的订阅与发布

https://github.com/socketio/socket.io-redis

0
hisune
hisune

给指定客户端发消息:

io.to(socket_id).emit()

0
swingcoder
swingcoder
socket.io-redis 是可以基于session的(连接时用消息 worker.send('sticky-session:connection', connection);),同一会放收发都是同一个进程(socket和node)。
0
JoveQiao
JoveQiao
楼主弄好了吗?
卞林
卞林
没有,我放弃了
0
JoveQiao
JoveQiao

引用来自“swingcoder”的评论

socket.io-redis 是可以基于session的(连接时用消息 worker.send('sticky-session:connection', connection);),同一会放收发都是同一个进程(socket和node)。
这个文档好少啊,有没有示例?
swingcoder
swingcoder
你看过我这篇文章了?里面有代码例子 http://my.oschina.net/swingcoder/blog/527648
返回顶部
顶部