CNode

再问一个关于socket.io 群发信息的问题

Hhc2014发布于12 年前最后回复12 年前9 回复6890 浏览0 收藏

我现在的问题就是 多个用户在聊天室.当用户A 发送了消息以后 除了用户A本身意外,其他人都能收到消息,在其他的客户端用户B 发送消息也是如此。 我的server: io.sockets.on('connection', function (socket) { socket.on('new message', function (data) { socket.broadcast.emit('new message', { username: socket.username, message: data }); }); socket.on('add user', function (username) { socket.username = username; console.log("add user:"+socket.username); }); });

client:

是不是那个地方要设置参数之类的?英语不咋地,所以看官方 文档 也没看出个所以然来....

查看回复

回复 (7)

H
hc2014#1·12 年前

@lonso 英文太烂了,桑不起啊

W
wuzeru#2·12 年前

获得所有的socket对象,然后发送事件,好像是这么做的,io.sockets.emit();

H
hc2014#4·12 年前

问题没解决,帖子不能沉

H
hc2014#5·12 年前

@lonso 哦,原来是这样。也对,没必要给自己发送消息。那如果我想像包括自己的客户端发送消息 ,有没有对应的方法或者参数设置的呢?

H
hc2014#6·12 年前

@lonso 我现在在做一个小论坛的demo.回复评论的时候,我现在是这样来做的,当我发送完消息以后,其他客户端都会收到对应的消息,然后输出到页面上。然后自己客户端就直接写对应的消息到页面上去。但是这样的话就有一个问题, 我该如何来判断自己发送的消息是否已经完成并且是正确的呢?

H
hc2014#7·12 年前
引用 wuzeru获得所有的socket对象,然后发送事件,好像是这么做的,io.sockets.emit();

@wuzeru 对的,刚才试了下 这个api是对的。之前一直纠结 之前一直纠结直接用socket对象来发送小心. io.sockets.on('connection', function (socket) { socket.on('new message', function (data) { io.sockets.emit('new message', { username: socket.username, message: data }); }); })

参与回复
登录后即可参与回复。登录