将消息发送到node.js和socket.io中的单个套接字

时间:2014-12-26 09:40:52

标签: javascript node.js sockets websocket socket.io

如何使用socket.io将消息发送到单个套接字。

我在想这样的事情,但它不起作用。

io.sockets.socket(socket.id).emit('messagetype', "message")

我收到此错误:

TypeError: Property 'connected' of object #<Namespace> is not a function

我认为我只是遇到了语法问题但无法找到有关它的来源。

2 个答案:

答案 0 :(得分:1)

基本上这就是你所需要的。

io.on('connection', function(socket){
  socket.emit('messagetype', "message");
});

socketio-docs

详细记录了这些内容

答案 1 :(得分:1)

在您的代码中,您可以使用其他人套接字,但是(socket.id)将始终返回您自己的套接字ID,因此您必须在数据库或任何数组中保存其他套接字ID,然后您可以向它们发送任何消息:

   io.sockets.socket(socket_array['socketid']).emit('','');

这里socket_array是一个数组,你必须保存其他套接字ID,'socketid'是socketid的关键;你可以使用别人的用户名而不是'socketid',那么它将是一个唯一的id。< / p>