我正在尝试使用 Node.js (Express) 和 Socket.io 编写一个基本的聊天应用程序。一切“似乎”都正常工作,但我的套接字服务器似乎只是将消息“发送”回原始发送者。这是我的套接字代码:
var client = io.listen(app);
client.sockets.on('connection', function (socket) {
socket.on('message', function (data) {
console.log(data);
socket.send(data);
});
});
这是我的客户端代码:
$(document).ready(function() {
var socket = new io.connect('http://localhost:3000');
socket.on('connect', function() {
socket.send('A client connected.');
});
socket.on('message', function(message) {
$('#messages').html('<p>' + message + '</p>' + $('#messages').html());
console.log(socket);
});
$('input').keydown(function(event) {
if(event.keyCode === 13) {
socket.send($('input').val());
$('input').val('');
}
});
});
感谢帮助。
最佳答案
使用client.sockets.emit
而不是socket.emit
。它将发送到每个连接的客户端(广播),使用套接字对象仅发送到特定客户端。
关于node.js - 为什么我的 Socket.io Express 应用程序只是发送到 'sender' s' 客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9334360/