LogoLogo
  • 关于本socket.io中文文档
  • socket.IO website
  • 1 指南(Guide)
    • 1-1 介绍(Introduction)
    • 1-2 web框架(The web framework)
    • 1-3 服务HTML(Serving HTML)
    • 1-4 集成 socket.io(Integrating socket.io)
    • 1-5 发送事件(Emiting events)
    • 1-6 广播(Broadcasting)
    • 1-7 作业(Homework)
    • 1-8 获取示例(Getting this example)
  • 2 文档(Docs)
    • 2.1 概览
      • 2.1.1 啥是Socket.io
      • 2.1.2 Socket.io不是什么
      • 2.1.3 安装
      • 2.1.4 在Node HTTP 服务中使用
      • 2.1.5 在express中使用Socket.io
      • 2.1.6 发送和接收事件
      • 2.1.7 限制自己使用命名空间
      • 2.1.8 发送易失性的消息
      • 2.1.9 发送和获取数据(确认)
      • 2.1.10 广播消息
      • 2.1.111 作为跨浏览器使用websocket
    • 2.2 房间和命名空间
      • 2.2.1 命名空间
      • 2.2.2 房间
      • 2.2.3 给外部发送消息
    • 2.3 从0.9迁移版本 migrating_from_0.9
      • 2.3.1 身份验证差异
      • 2.3.2 日志差异
      • 2.3.3 快捷方式
      • 2.3.4 配置差异
      • 2.3.5 解析器/协议差异
    • 2.4 多路节点使用
      • 2.4.1 Apache httpd配置
      • 2.4.2 在节点之间传递事件
      • 2.4.3 Haproxy配置
      • 2.4.4 粘性负载均衡
      • 2.4.5 Nginx配置
      • 2.4.6 使用node.js集群
    • 2.5 日志和调试
      • 2.5.1 可用的调试范围
    • 2.6 emit 备忘单
    • 2.7 内部概述
      • 2.7.1 内部概述引擎底层依赖关系图
      • 2.7.2 内部概述关系图
    • 2.8 faq
  • 3 客户端-API(Client-API)
    • 3.1 io
      • 3.1.1 io.protocpl
      • 3.1.2 io([url][,optiosn])
      • 3.1.3 初始化示例-带多路复用
      • 3.1.4 初始化示例-自定义路径
      • 3.1.5 初始化示例-查询参数
      • 3.1.6 初始化示例-查询选项
      • 3.1.7 初始化示例-额外Headers
      • 3.1.8 初始化示例-仅限websocket传输
      • 3.1.9 初始化示例-自定义解析器
      • 3.1.11 初始化示例-自签名证书
    • 3.2 manager
      • 3.2.1 new Manager(url[,options])
      • 3.2.2 manager.reconnection([value])
      • 3.2.3 manager.reconnectionAttempts([value])
      • 3.2.4 manager.reconnectionDelay.([value])
      • 3.2.5 manager.reconnectionDelayMax([value])
      • 3.2.6 manager.timeout(pvalue[])
      • 3.2.7 manager.open([callback])
      • 3.2.8 manager.connect([callback])
      • 3.2.9 manager.socket(nsp,options)
      • 3.2.10 event:connect_error
      • 3.2.11 event:connect_timeout
      • 3.2.12 event:reconnect
      • 3.2.13 event:reconnect_attempt
      • 3.2.14 event:reconnecting
      • 3.2.15 event:reconnect_error
      • 3.2.16 event:reconnect_failed
      • 3.2.17 event:ping
      • 3.2.18 event:pong
    • 3.3 socket
      • 3.3.1 socket.id
      • 3.3.2 socket.connected
      • 3.3.3 socket.disconnected
      • 3.3.4 socket.open()
      • 3.3.5 socket.connect()
      • 3.3.6 socket.send([...args][,ack])
      • 3.3.7 socket.emit(eventName,[...args][,ack])
      • 3.3.8 socket.on(eventName,callback)
      • 3.3.9 socket.compress(value)
      • 3.3.10 socket.binary(value)
      • 3.3.11 socket.close()
      • 3.3.12 socket.disconnect()
      • 3.3.13 event:connect
      • 3.3.14 event:connect_error
      • 3.3.15 event:connect_timeout
      • 3.3.16 event:error
      • 3.3.17 event:disconnect
      • 3.3.18 event:reconnect
      • 3.3.19 event:reconnect_attempt
      • 3.3.20 event:reconnenting
      • 3.3.21 event:reconnect_error
      • 3.3.22 event:reconnect_failed
      • 3.3.23 event:ping
      • 3.3.24 event:pong
  • 4 服务端-API(Server-API)
    • 4.1 server
      • 4.1.1 HTTP服务选项 new_server_httpserver_options
      • 4.1.2 服务器端口选项 new_server_port_options
      • 4.1.3 服务器选项 new_server_options
      • 4.1.4 服务器sockets server_sockets
      • 4.1.5 服务器serverClient值 server_serverClient_value
      • 4.1.6 服务器路径值 server_path_value
      • 4.1.7 服务器适配器值 server_adapter_value
      • 4.1.8 服务器源值 server_origins_value
      • 4.1.9 服务器源函数 server_origins_fn
      • 4.1.10 服务器附加HTTP服务选项 server_attach_httpServer_options
      • 4.1.11 服务器附加端口选项 server_attach_port_options
      • 4.1.12 服务器监听HTTP服务选项 server_listen_httpServer_options
      • 4.1.13 服务器监听端口选项 server_listent_port_options
      • 4.1.14 服务器绑定引擎 server_bind_engine
      • 4.1.15 服务器连接socket server_onconnection_socket
      • 4.1.16 服务器命名空间(nsp) server_of_nsp
      • 4.1.17 服务器关闭回调 server_close_callback
      • 4.1.18 服务器引擎生成socket ID server_engine_generateid
    • 4.2 命名空间(namespace)
      • 4.2.1 命名空间 namespace
      • 4.2.2 命名空间名称 namespace_name
      • 4.2.3 命名空间连接 namespace_connected
      • 4.2.4 命名空间适配器 namespace_adapter
      • 4.2.5 命名空间到房间 namespace_to_room
      • 4.2.6 命名空间在房间 namespace_in_room
      • 4.2.7 命名空间发送事件参数 namespace_emit_eventname_args
      • 4.2.8 命名空间客户端回调 namespace_clients_callback
      • 4.2.9 命名空间中间件函数 namespace_use_fn
      • 4.2.10 连接事件 event_connect
      • 4.2.11 事件连接 event_connection
      • 4.2.12 可见性标志位 flag_volatile
      • 4.2.13 二进制标志位 flag_binary
      • 4.2.14 本地标记位 flag_local
    • 4.3 socket
      • 4.3.1 socket_id
      • 4.3.2 socket_rooms
      • 4.3.3 socket_client
      • 4.3.4 socket_conn
      • 4.3.5 socket_request
      • 4.3.6 socket_handshake
      • 4.3.7 socket_use_fn
      • 4.3.8 socket_send_args_ack
      • 4.3.9 socket_emit_eventName_args_ack
      • 4.3.10 socket_on_eventName_callback
      • 4.3.11 socket_once_eventName_listener
      • 4.3.12 socket_removelistener_eventName_listener
      • 4.3.13 socket_removeAllListeners_eventName
      • 4.3.14 socket_eventNames
      • 4.3.15 socket_join_room_callback
      • 4.3.16 socket_join_rooms_callback
      • 4.3.17 socket_leave_room_callback
      • 4.3.18 socket_to_room
      • 4.3.19 socket_in_room
      • 4.3.20 socket_compress_value
      • 4.3.21 socket_disconnect_close
      • 4.3.22 flag_broadcast
      • 4.3.23 flag_volatile
      • 4.3.24 flag_binary
      • 4.3.25 event_disconnect
      • 4.3.26 event_error
      • 4.3.27 event_disconnecting
    • 4.4 client
      • 4.4.1 client
      • 4.4.2 client_conn
      • 4.4.3 client_request
Powered by GitBook
On this page

Was this helpful?

  1. 2 文档(Docs)
  2. 2.4 多路节点使用

2.4.2 在节点之间传递事件

Previous2.4.1 Apache httpd配置Next2.4.3 Haproxy配置

Last updated 5 years ago

Was this helpful?

既然您有多个Socket.IO节点可以接受连接,那么如果您想向每个人(甚至是某个 中的每个人)广播事件,那么就需要在进程或计算机之间传递消息。

负责路由消息的接口就是我们所称的Apdapter。您可以在 上实现自己的(通过从socket.io-adapter继承),也可以使用我们在上提供的::

const io = require('socket.io')(3000)
const redis = require('socket.io-redis');
io.adapter(redis({host:"localhost",port:6379}));

如下调用:

io.emit('hi',"all sockets")

将通过redis的广播到每个节点。

注意:使用Redis适配器时仍然需要粘性会话。

如果您想通过non-socket.io进程将消息传递给它,您应该考虑。

房间
socket.io-adapter
redis
socket.io-redis
发布/订阅机制
“从外部世界发送消息”