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

Socket.io/node.js on local network?

本文关键字:node js io Socket 本地网络      更新时间:2023-09-26

我在同一个网络上有两台机器,例如192.168.1.2和192.168.1.3。

192.168.1.2 = server/dev pc

192.168.1.3 = client/browser pc

所以在服务器/开发pc我有一个套接字。Io/http服务器运行在端口82

在客户端服务器上,我使用chrome作为浏览器

服务器正在托管一个类似

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

这是套接字所需的必要资源。输入输出端。所以资源负载在我的服务器/开发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>

,正如它在套接字上所说的。

我也看了

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

,但我使用套接字。IO 0.8.4所以上面的版本不能工作。

那么我怎样才能得到这个套接字呢?在本地网络环境中为客户端服务的IO资源?或者你们知道有一个网站提供0.8.4版本的socket吗?我需要什么?

注意:没有防火墙问题

尝试让socket。IO自动连接

var socket = io.connect();

如果您使用同一主机的不同端口来服务套接字。你可以尝试使用

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

,这看起来像一个hack,但它工作,只是替换9998与您服务的端口套接字。io。

Replace

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

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

对于索引:

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

And from client connection:

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