Node.js和Socket.io适用于除我(主机)之外的所有人
因此,我有一个小的node.js和socket.io脚本,运行于我阅读的教程中,但我遇到了一些问题。 脚本似乎100%正常工作。 对于Socket.io,当我使用localhost从客户端连接到服务器时:Node.js和Socket.io适用于除我(主机)之外的所有人,node.js,socket.io,Node.js,Socket.io,因此,我有一个小的node.js和socket.io脚本,运行于我阅读的教程中,但我遇到了一些问题。 脚本似乎100%正常工作。 对于Socket.io,当我使用localhost从客户端连接到服务器时: var socketio = io.connect("127.0.0.1:80"); 它工作正常,但是,当我使用我的公共IP地址(相关端口已打开)执行此操作时,会出现问题,它不会为我连接,但是它会为任何查看我的脚本的人连接。页面已加载,但未发生套接字脚本。 我的控制台记录以下内容: deb
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
这里可能发生了什么导致它对除我之外的所有人都有效?请确保在脚本标记中包含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>
var socket=io.connect('http://yourPublicIP:port');
您好,感谢您的回复,但是问题仍然存在。我已经测试过,它对我有效,我认为您遇到了一些网络问题或类似的问题。如果你能在这里发布你的服务器和客户端代码,那么它将更有可能帮助你。在我的VPS上运行它是有效的,所以它可能是一个网络问题。谢谢你所做的一切。