在nodejs中无法使用互联网电话获取套接字-IO连接
问题描述:
我正在尝试制作互联网电话开关。基本上,当某人按下手机上的某个特定按钮时,它会对我的网站发出GET调用,并且GET调用会通过socket.IO触发一个与网站连接的所有人都可以看到的事件。在nodejs中无法使用互联网电话获取套接字-IO连接
我得到的GET调用就好了,我的服务器注意到它很好。但是因为手机无法呈现网页,所以我无法启动它来触发事件。如果我只有两台不同的电脑和两台浏览器,一切都按我的意愿工作。
当我渲染一个页面时,我在我的“layout.jade”这个代码上触发了一个事件,如果你在正确的页面。
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_call”事件,因为(可能)它无法呈现页面,因此它实际上从未实际使用“layout.jade”。 但是,因为它的GET调用就好了,我希望能够从我的server.js文件(或index.js,都很好)发射该事件,唉,我不知道该怎么做。如果我试图像这样开除它:
app.get ("/log_get", function() {
socket.broadcast.emit('call');
});
它只是在声明该套接字未定义。问题似乎是它需要有io.sockets.on('连接',函数(套接字){...为了能够识别“套接字”,但我不能这样做,因为我已经有一个“连接时”在那里。
帮助表示赞赏!
答
NPM模块socket.io客户端做的工作。