请问各位,C++ WinSock该怎么实现不同局域网下的联机?我用WinSock做了一个多人联机游戏,发现只有同一局域网下的电脑才能联机。
不同局域网下的联机需要使用公网 IP 地址来实现。可以使用路由器的端口映射功能将公网 IP:端口映射到局域网 IP:端口号上。另外公网访问需要考虑网络安全问题,比如使用加密方式来保护数据传输安全。
这个你需要在公网部署一个服务器,然后两个局域网连接你公网的服务器,服务器进行通讯转发。
好问题,蹲一下,我感觉代码做不到,不同网段通讯怎么实现需要路由器吧
要实现不同局域网下的多人联机,需要使用Internet协议(IP)来连接远程计算机。使用WinSock的实现是通过编写客户端和服务器端代码来实现。
在服务器端代码中,使用INADDR_ANY来绑定IP地址,这将允许服务器在任何可用的IP地址上监听传入的连接。
在客户端代码中,需要指定服务器的远程IP地址。可以让用户在运行时手动输入IP地址或使用自动发现方式来轮询目标计算机。
如果不希望用户手动输入IP地址,可以使用网络广播来