Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Events Can';无法在nodejs中使用internet电话进行套接字IO连接_Events_Node.js_Socket.io - Fatal编程技术网

Events Can';无法在nodejs中使用internet电话进行套接字IO连接

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

我正在试着做一个网络电话交换机。基本上,当有人按下手机上的某个特定按钮时,它会给我的网站打一个GET电话,该GET电话会通过socket.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\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完成了这项工作