我是Socket.io的新手,我不明白如何使用Socket.io在两台计算机之间建立连接。我能够在Socket.io网站上完成聊天教程:http://socket.io/get-started/chat/
这使我能够通过连接到localhost:5800在本地聊天(在同一台计算机上,多个选项卡)。但是,即使它们连接到同一网络,我也无法使用此方法在多台计算机上聊天。我正在尝试在网络游戏中使用网络,所以我查看了不同游戏中的网络示例(例如这个agar.io clone - https://github.com/huytd/agar.io-clone)。我见过的所有人都假设存在其他js文件(与我的项目无关的文件)或者它们让我难以理解。有没有人有一个可以在计算机之间发送数据包(例如“alive:true,speed:100”等字符串)的项目的工作示例?
非常感谢。
答案 0 :(得分:0)
尝试在chat.js中更改此代码:
http.listen(3000, function(){
console.log('listening on *:3000');
});
到此:
http.listen(3000, '0.0.0.0', function(){
console.log('listening on *:3000');
});
虚拟地址'0.0.0.0'
告诉http服务器侦听您的计算机当前正在使用的所有网络地址上的连接,即在所有网卡上。如果没有这个,http服务器只会侦听机器的内部“环回”地址(localhost
或127.0.0.1
),这意味着它只能接收来自同一台机器上其他程序的连接。
如果要使用此功能在不同网络上的两台计算机之间进行聊天,则需要在具有公共IP地址且没有阻止聊天端口的防火墙的服务器上运行chat.js(此处为3000)案件)。然后,您需要将聊天客户端指向该地址(例如,如果您已注册主机名,则为203.0.113.42:3000或myhost.com:3000)。