socket.io-发送到socketid(单个客户端)不工作
socket.io - emit to socketid(single client) not working
我使用的是0.9.4版本(根据您的指导,我可以使用任何版本)
在服务器(app.js)中,我存储的套接字id如下:
var socket_ids = [];
io.sockets.on('connection', function(socket) {
socket_ids.push(socket.id); #This is how I am getting socket id. My real code logic is totally different, but getting socket id using socket.id;
socket.on('createNote', function(data) {
socket.broadcast.to(socket_ids[0]).emit('onNoteCreated', data);
});
});
简而言之,我有4个人开通了会话,所有4个人都是不同的用户。
当p1发送消息时,它应该只到达p2。当p3发送消息时,它应该只到达p4。
抛开if.else逻辑不谈(我对此很满意),当我使用套接字id广播消息时,具有该套接字id的客户端/浏览器不会接收到该消息。此外,上面广播的代码行(其他行是SO自定义的)没有给出错误,但客户端没有接收到。
但是这些客户端/浏览器在广播到所有内容时都会接收消息。
谢谢。
使用最新的socket.io版本,我会这样做:
var sockets = [];
io.on("connection", function(socket){
// Store whole socket object.
// NOTE: You should probably loop through sockets array
// to see if a socket with this id already exists
sockets.push(socket);
socket.on("createNote", function(data){
sockets[0].emit("onNoteCreated", data);
});
});
希望这能帮助
相关文章:
- 客户端服务器REST API captcha实现
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- 如何使用Socket.io将命令从客户端发送到服务器
- 如何轻松地将服务器端变量从Java代码转移到客户端代码
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- 从客户端获取修改后的对象,并将其与服务器上的原始对象组合
- 如何将我的javascript库公开给其他客户端使用
- 是否可以使用JavaScript/AAJAX在客户端创建一个文件
- 如何使用Javascript客户端对象模型检索Sharepoint 2010列表项权限
- 返回/从Twit's客户端.get
- 将客户端特定的日期格式返回到服务器MVC4
- MobileFirst:在客户端运行计时器作业-最佳选项
- 单个 Redis 客户端连接是否支持并发读写
- socket.io-发送到socketid(单个客户端)不工作
- 从流星服务器到客户端获取单个值
- 如何使用单个声明修改服务器端和客户端都使用的库
- 是否有可能在MVC中禁用单个模型属性的客户端验证?
- 如何在socket io中向单个客户端发送错误数据包?
- SignalR长轮询多个组.为单个客户端添加Exception
- 使用node.js assocket .io向单个特定客户端发送/发出消息