我正在使用 Socket IO v1.4.5 并尝试了以下 3 种不同的方法,但没有任何结果。
client.emit('test', 'hahahaha');
io.sockets.socket(id).emit('test',''hahaha);
io.sockets.connected[id].emit('test','hahaha');
这是我的服务器端
var socket = require( 'socket.io' );
var express = require( 'express' );
var http = require( 'http' );
var dateFormat = require('date-format');
var app = express();
var server = http.createServer( app );
var io = socket.listen( server );
io.sockets.on( 'connection', function( client ) {
user[client.id]=client;
//when we receive message
client.on('message', function( data ) {
console.log( 'Message received from' + data.name + ":" + data.message +' avatar' +data.avatar );
client.emit('test', 'hahahaha');
});
任何帮助都会很棒。感谢您的帮助。亲切的问候
原文由 user4851087 发布,翻译遵循 CC BY-SA 4.0 许可协议
要向特定客户端发送消息,您需要这样做:
这是一个不错的套接字小备忘单:
感谢 https://stackoverflow.com/a/10099325
最简单的方法不是直接发送到套接字,而是创建一个房间供 2 个用户使用并在其中自由发送消息。
否则,您将需要跟踪每个单独的客户端套接字连接,并且当您想要聊天时,您将必须查找该套接字连接并使用我上面提到的函数专门发送给那个套接字连接。房间可能更容易。