V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
notedit
V2EX  ›  问与答

关于socket.io的Broadcast

  •  
  •   notedit · Jun 16, 2013 · 3027 views
    This topic created in 4705 days ago, the information mentioned may be changed or developed.
    刚开始使用socket.io, server端可以向客户端broadcast一些信息. 我猜里面的实现细节是有一个大的字典保持了所有的客户端的连结,broadcast的时候会遍历这些客户端,并发送信息.
    所以这里问题就来了, 当server端只有一个线程的时候是没问题的,如果server端是多个进程呢?同一namespace下的客户端有可能连结到不同的进程,这个时候一个server进程进行broadcast的时候遍历的就不是全部的客户端.

    不知道真实使用场景下有没有遇到这种情况的? 以及解决方案
    Supplement 1  ·  Jun 17, 2013
    找到解决方法了 通过改变socket.io的store 可以实现多进程时候的broadcast

    https://github.com/LearnBoost/socket.io/wiki/Configuring-Socket.IO
    2 replies    1970-01-01 08:00:00 +08:00
    chemhack
        1
    chemhack  
       Jun 16, 2013
    nodejs显然是单线程的
    notedit
        2
    notedit  
    OP
       Jun 16, 2013
    @chemhack 你的回复真的跟我的问题没关系
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2704 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 09:53 · PVG 17:53 · LAX 02:53 · JFK 05:53
    ♥ Do have faith in what you're doing.