node.js,socket.io只能在localhost上工作,不能从内网访问

我正在使用node.js和socket.io实时通知系统。 我用简单的聊天代码testing了node.js和socket.io,它与localhost相当不错,但不能从另一个在同一networking本地连接的系统访问。 我的服务器和客户端代码如下所示:

server.js

 var express = require('express') , app = express() , http = require('http') , server = http.createServer(app) , io = require('socket.io').listen(server); server.listen(8888); 

和客户端html index.html

 <script src="http://localhost:8888/socket.io/socket.io.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script> <script> var socket = io.connect('http://localhost:8888'); </script> 

它正在我的浏览器与这个url http://localhost/schat/index.html工作,但不工作时,我试图从另一个系统连接使用我的IP 192.171.56.23/schat/index.html 。 但所有其他的HTML文件工作正常,下面是我的netstat输出:

 [root@localhost schat]# netstat -pan | grep 8888 tcp 0 0 0.0.0.0:8888 0.0.0.0:* LISTEN 8068/node tcp 0 0 127.0.0.1:8888 127.0.0.1:38273 ESTABLISHED 8068/node tcp 0 0 127.0.0.1:38273 127.0.0.1:8888 ESTABLISHED 7990/firefox 

经过上面的一些评论:

 <script> var socket = io.connect('http://localhost:8888'); </script> 

为了能够在任何远程计算机上运行Node客户端,必须使用服务器实际IP来更改localhost

同样的事情:

 <script src="http://localhost:8888/socket.io/socket.io.js"></script>