我目前开始使用node.js,作为第一个小项目,我决定编写一个小聊天应用程序。到目前为止,我使用的是socket.io
,并遵循http://socket.io/get-started/chat/上的聊天教程。现在我想扩展这个脚本,但是我卡住了。
我不明白如何(或者如果有)套接字。IO在服务器端管理所有连接的客户端。我可以使用io.emit
功能向所有连接的用户发送消息。但是,如果我想向某个特定用户发送消息,该怎么办呢?
出于安全原因,"过滤"/"定位"需要在服务器端发生。但是我没有看到/理解socket是如何(或者如果有的话)的。IO实际上管理所有客户端连接。是否有一种方法可以获得所有当前连接的客户端的列表?您能在一个循环中对所有连接的客户机进行交互吗?您可以为连接分配自定义标识符/名称吗?作为实际应用程序,您可以向单个连接的用户发出/发送消息吗?
每个套接字连接在第一次建立新连接时都有一个唯一的套接字id。您可以使用该特定id发出数据。
var socketId=socket.id;
socket.broadcast.to(socketId).emit("messageToReceiver",data);
因此,您可以将它发送给特定的人。
要获取所有已连接的客户端,请检查此URL:套接字。IO -我如何获得连接的套接字/客户端列表?