繁体   English   中英

本地网络上的Socket.io/node.js?

[英]Socket.io/node.js on local network?

我在同一网络上有两台机器,分别为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资源呢? 或者你们知道一个网站服务于我可以使用的0.8.4版本的socket.io吗?

注意:没有防火墙问题。

如果您使用同一主机的不同端口来提供socket.io,您可以尝试使用

<script>document.write('<script src="//'+ location.hostname + ':9998/socket.io/socket.io.js">\\x3C/script>')</script>

这看起来像一个黑客但它的工作原理,只需用你正在服务socket.io的端口替换9998。

尝试让socket.io自动连接

var socket = io.connect();

这对我有用。

对于索引:

    <script src="/socket.io/socket.io.js"></script>

并从客户端连接:

var socket = io.connect('http://192.168.1.3:82', {'forceNew': true});

这对我有用!

更换

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

<script src="/socket.io/socket.io.js"></script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM