我在同一网络上有两台机器,分别为192.168.1.2和192.168.1.3。
192.168.1.2 = server / dev pc
192.168.1.3 =客户端/浏览器pc
所以在服务器/ dev pc上我有一个在端口82上运行的socket.io/http服务器
在客户端服务器上,我使用chrome作为浏览器
服务器正在托管一个类似
的网页<html>
....
<script type="text/javascript" src="http://localhost:82/socket.io/socket.io.js"></script>
....
</html>
这是socket.io客户端所需的必要资源。所以资源在我的服务器/ dev pc上加载,但不在我的客户端pc上加载。所以我试试:
<html>
....
<script type="text/javascript" src="http://192.168.1.2:82/socket.io/socket.io.js"></script>
....
</html>
现在它无法在任何一台电脑上运行。我知道它应该是
<script src="http://<uri:port>/socket.io/socket.io.js"></script>
正如它在socket.io github上所说的那样,但我只想在本地网络上进行测试。
我也看了
<script type="text/javascript" src="http://cdn.socket.io/stable/socket.io.js"></script>
但我使用的是socket.io 0.8.4,因此上述版本无效。
那么如何在本地网络环境中获取为客户端提供的socket.io资源?或者你们知道一个网站服务于我可以使用的socket.4的0.8.4版本吗?
注意:没有防火墙问题。
答案 0 :(得分:2)
如果您使用同一主机的其他端口来提供socket.io,则可以尝试使用
<script>document.write('<script src="//'+ location.hostname + ':9998/socket.io/socket.io.js">\x3C/script>')</script>
看起来像黑客但它可以工作,只需用你正在为socket.io服务的端口替换9998。
答案 1 :(得分:2)
尝试让socket.io与
自动连接var socket = io.connect();
这对我有用。
答案 2 :(得分:0)
替换
<script type="text/javascript" src="http://localhost:82/socket.io/socket.io.js"></script>
带
<script src="/socket.io/socket.io.js"></script>
答案 3 :(得分:0)
索引:
<script src="/socket.io/socket.io.js"></script>
从客户端连接:
var socket = io.connect('http://192.168.1.3:82', {'forceNew': true});
这对我有用!。