所以我从我阅读的教程中运行了一个小的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
这里可能会发生什么导致它对除了我以外的所有人都有效?
答案 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>