这是我的app.js文件
io.on('connection', function(socket){
socket.on('ujwal', function (data) {
socket.emit('news', function(){
console.log('testing');
});
});
socket.on('disconnect', function(){
console.log('user disconnected');
});
在ujwal事件中,我正在向客户端发送另一个事件
这是我的index.html我也包含了套接字库
var socket = io('http://localhost:3000');
$('#test').click(function(){
var as = "object";
socket.emit('ujwal',as);
});
socket.on('news', function (a) {
alert('receiving msgs');
});
现在,每当用户单击获取的测试ID但谁没有单击却没有收到前端的对象时,我就会打开两个窗口。为什么代码意味着每当您获得名称事件ujwal时,请触发新闻A和B连接到服务器A,然后单击测试ujwal被触发并由服务器检查,然后再次发送新闻,现在所有连接的用户都应看到警报?
这就是我所知道的,因此请使其正常工作,以便所有用户都能收到警报。
最佳答案
当您使用socket.emit()
时,您将直接发出该套接字,而不是所有套接字。要发射到所有套接字,请从io
发射
io.on('connection', function(socket){
socket.on('ujwal', function (data) {
//socket.emit('news', function(){
io.emit('news', 'some message');
});
socket.on('disconnect', function(){
console.log('user disconnected');
});