Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/459.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/2/node.js/33.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
Javascript 侦听chrome扩展内部的socket.io连接_Javascript_Node.js_Sockets_Google Chrome Extension_Socket.io - Fatal编程技术网

Javascript 侦听chrome扩展内部的socket.io连接

Javascript 侦听chrome扩展内部的socket.io连接,javascript,node.js,sockets,google-chrome-extension,socket.io,Javascript,Node.js,Sockets,Google Chrome Extension,Socket.io,我能够将socket.io连接从我的分机发送到我的服务器,但我听不到分机内服务器发出的信号。关于这个问题,我发现了相互矛盾的答案: 说这是不可能的;及 他说可以 是否有任何特殊配置必须更改才能接受来自套接字服务器的发射 编辑: (注意:我使用的是AngularJS,但它不应该与这个问题相关) socketFactory.js: myApp.factory('socketFactory', function($rootScope) { var socket = io.connect('//de

我能够将socket.io连接我的分机发送到我的服务器,但我听不到分机内服务器发出的信号。关于这个问题,我发现了相互矛盾的答案:

说这是不可能的;及

他说可以

是否有任何特殊配置必须更改才能接受来自套接字服务器的发射

编辑

(注意:我使用的是AngularJS,但它不应该与这个问题相关)

socketFactory.js:

myApp.factory('socketFactory', function($rootScope) {
  var socket = io.connect('//dev.mydomain.com', {'path': '/api/socket'});
  return socket;
}
inject.js:

var packetData = { 'some':'data', 'roomId':'123abc' };
socketFactory.emit('room:join', packetData);
...
socketFactory.on('room:update', function (data) {
  console.log('Received data from socket server');
  console.log(data)
}
socket.js(服务器端):

这是我连接的基本设置。当我在非扩展模式下启动应用程序时(我们正在进行扩展以模拟我们的Web应用程序),该系统工作正常,但在扩展模式下,
room:update
从未触发

编辑2

我们在
socket.js
中的
socket
对象(在connect上生成)上执行了
console.log
。在标题中,主机是
dev.mydomain.com
,而引用者是
www.othersite.com
。这可能是问题所在吗?“主机”指的是什么?套接字服务器的主机,还是套接字侦听器的主机?在后一种情况下,它没有到达我们运行扩展的
www.othersite.com
,这是有道理的


编辑3:…它不知从哪里开始工作。一定是某个地方的比赛条件。关闭不再相关的问题。

它突然起作用。可能是比赛条件

你能发布一些详细说明这个问题的代码吗?这可能是客户端的错误
socket.on('room:join', function ( data ) {
  // Setting socketId to detect disconnect
  data.user.socketId = socket.id;

  socket.join( data.roomId, function() {
    // Some code ...
    io.sockets.to(data.roomId).emit('room:update', {'some':'data', 'roomId': '123abc'});
  }
});