Node.js和Socket.io适用于除我以外的所有人(主机)

时间:2014-05-02 08:58:20

标签: node.js socket.io

所以我从我阅读的教程中运行了一个小的node.js和socket.io脚本,但是我遇到了一些问题。 该脚本似乎100%正常工作。 就Socket.io而言,当我使用localhost从客户端连接到服务器时:

var socketio = io.connect("127.0.0.1:80");

它工作正常,但是,当我使用我的公共IP地址(相关端口打开)时,存在一个问题并且它没有为我连接,但它连接任何查看我的脚本的人。页面加载但没有发生套接字脚本。 我的控制台记录了这个:

 debug - xhr-polling writing 8::
   debug - set close timeout for client rV_r1hWJZ7gGA5ZtGCYY
   debug - xhr-polling closed due to exceeded duration
   debug - setting request GET /socket.io/1/xhr-polling/rV_r1hWJZ7gGA5ZtGCYY?t=1
399020968259
   debug - setting poll timeout
   debug - discarding transport
   debug - cleared close timeout for client rV_r1hWJZ7gGA5ZtGCYY
   debug - setting request GET /socket.io/1/jsonp-polling/rV_r1hWJZ7gGA5ZtGCYY?t
=1399020855254&i=0
   debug - setting poll timeout
   debug - discarding transport
   debug - clearing poll timeout

这里可能会发生什么导致它对除了我以外的所有人都有效?

1 个答案:

答案 0 :(得分:1)

确保在脚本标记中包含了socket.io,如下所示:

<script type="text/javascript" src="http://yourPublicIP:port/socket.io/socket.io.js"></script>

然后你做

<script type="text/javascript">
  var socket = io.connect('http://yourPublicIP:port');
</script>