在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客户端做的工作。