Events Can';无法在nodejs中使用internet电话进行套接字IO连接
我正在试着做一个网络电话交换机。基本上,当有人按下手机上的某个特定按钮时,它会给我的网站打一个GET电话,该GET电话会通过socket.IO触发一个事件,每个连接到该网站的人都可以看到该事件 我很好地接到了get电话,我的服务器也注意到了。但因为手机无法呈现网页,我无法让它触发事件。如果我只需要两台不同的计算机和两个浏览器,那么一切都会按照我的要求运行 当我呈现一个页面时,我在我的“layout.jade”上有一段代码,如果你在正确的页面上,它会触发一个事件Events Can';无法在nodejs中使用internet电话进行套接字IO连接,events,node.js,socket.io,Events,Node.js,Socket.io,我正在试着做一个网络电话交换机。基本上,当有人按下手机上的某个特定按钮时,它会给我的网站打一个GET电话,该GET电话会通过socket.IO触发一个事件,每个连接到该网站的人都可以看到该事件 我很好地接到了get电话,我的服务器也注意到了。但因为手机无法呈现网页,我无法让它触发事件。如果我只需要两台不同的计算机和两个浏览器,那么一切都会按照我的要求运行 当我呈现一个页面时,我在我的“layout.jade”上有一段代码,如果你在正确的页面上,它会触发一个事件 var socket = io.c
var socket = io.connect('http://MYWEBPAGE.org:3000');
socket.on('connect', function () {
if ($('title')[0].text == "IMC_log") {
socket.emit('server_call');
}
});
socket.on('call', function () {
console.log("CALL HERE");
});
在server.js上,我有
io.sockets.on('connection', function (socket) {
socket.on('server_call', function () {
socket.broadcast.emit('call');
});
});
仅使用浏览器就可以做到这一点。但现在当我使用手机时,它不会触发“server\u call”事件,因为(可能)它无法呈现页面,所以它从来没有实际使用过“layout.jade”。
但是,由于GET调用做得很好,我希望能够从我的server.js文件(或者index.js,两者都很好)中触发该事件,唉,我不知道怎么做。如果我试着像这样发射它:
app.get ("/log_get", function () {
socket.broadcast.emit('call');
});
它只是抱怨套接字没有定义。问题似乎是它需要有io.sockets.on('connection',function(socket){…才能识别“socket”,但我不能这样做,因为我已经有了一个“on connection”
非常感谢您的帮助!Npm module socket.io-client完成了这项工作