如何在socket.io中的所有连接的客户端之间广播消息?我正在服务器端使用mrniko / netty-cosket.io服务器和java(play / eclipse),客户端使用socket.io.js 0.9。客户和客户服务器工作正常(即发送和接收消息)。保持连接客户端的记录,我正在使用hashMaps并向所有连接的用户发送消息,我正在迭代哈希映射并逐个发送消息。只是想知道有没有更好的方法立即向所有连接的客户端发送消息?任何帮助将受到高度赞赏。
答案 0 :(得分:2)
以下是mrniko / netty-socket.io用法的示例:
Configuration config = new Configuration();
config.setHostname("localhost");
config.setPort(9092);
SocketIOServer server = new SocketIOServer(config);
BroadcastOperations bo = server.getBroadcastOperations();
// every method will broadcast messages to all server clients
bo.sendJsonObject(...)
server.start();
...
答案 1 :(得分:1)
您可以使用以下代码:
//broadcasts to all clients connected
io.sockets.emit('function', {foo:bar});
//broadcasts to all clients connected, except the sender
io.sockets.on('connection', function (socket) {
socket.on('message', function(data) {
socket.broadcast.emit('function', {foo:bar});
}
}