我在理解socket.io和node.js的工作方式时遇到了问题。
我尝试了一些发送消息的例子,但它确实有效。我不明白的是从客户那里散发出来。
我在客户端使用emit,例如:socket.emit('custom_event');
,但它在其他客户端中不起作用,除非我在服务器中添加这样的内容:
var io = require('socket.io').listen(app);
io.sockets.on('connection', function(socket) {
socket.on('custom_event', function() {
socket.emit('custom_event');
});
});
我做错了什么或者我是否需要始终在服务器端添加定义,以便客户端向其他客户端发送内容?
答案 0 :(得分:0)
这是不可能的,socketio需要客户端之间的服务器逻辑。
你可以这样做:
socket.broadcast.emit
广播意味着向除了启动它的套接字以外的所有人发送消息。
io.sockets.emit
向所有人发送,(包括启动操作的套接字。)
但总是来自服务器
Can you connect client to client via web sockets without touching the server?