请教下socket.io chat例子非本机测试的问题
发布于 9 年前 作者 Xinzzz 3832 次浏览 最后一次编辑是 8 年前 来自 问答

socket = io.connect(‘http://localhost:3000′);

如果是要非本机测试的话,例如两台机子,http://localhost得改成什么,端口呢?

初学,麻烦解答一下,谢谢。

8 回复

你可以看下你的机器的本地局域IP地址是多少,如果连接的是WIFI一般是路由器分配的。如我的机器本地的局域网是192.168.1.130,那本地局域网的其他机器可以访问我的这个IP。

@youqingkui 噢,也就是说,如果两台机子A、B在局域网里,A的ip是192.168.1.130,B的ip是192.168.1.131,那么A、B两台都把socket = io.connect(‘http://localhost:3000′); 改成 socket = io.connect(‘http://192.168.1.130:3000′);就能通是吗?

不好意思,还有个问题,因为没有两台机子,所以测试不了,只能再问问。

如果要和其他的通信程序进行通信,例如java udp写的一个程序,也是只用设置ip和端口就行了吗?

@Xinzzz 如果是其他机器连接的话,是局域网,只需要吧localhost替换为局域网对应的IP地址就好了。

@youqingkui 局域网对应的IP地址? 我理解的是多台机器相连,以其中一台机器的ip作为服务器ip然后连,这样对吗?

@Xinzzz 我目前的理解是,如果你连接了路由器,比如家里的wifi,机器A会得到一个路由器分配的局域网IP(192.168.1.100),然后机器B连接wifi,路由器会分配个局域网IP(192.168.1.101)地址给B。

让后A开启一个服务,如WEB服务器,B要访问的话,因为是在局域网,可以直接通过A的192.168.1.100来访问。

@youqingkui 我也大概是这个意思,但我是不太清楚具体要怎么做,因为没机子测试。

例如这样机器A的io.connect后面应该改成什么,是localhost还是自己的ip。然后A需不需要用xampp之类的东西。

@Xinzzz node本身就可以创建WEB服务器

回到顶部