使用 C 和 Winsock 库 (UDP),我制作了一个客户端-服务器多人游戏。
现在我想让客户端可以直接相互连接(例如在《魔兽争霸 III》中,当某人主持游戏时,其他玩家直接连接到他),但我不知道,也找不到有关的信息如何做到这一点。
最佳答案
在大多数情况下 - 尤其是在当今不幸的世界中,大多数客户端都位于 NAT 防火墙和 ISP 后面,这些防火墙和 ISP 会阻止如此多的传入连接 - 客户端/服务器程序(例如您想要做的)将通过中央服务器路由所有流量,“保证”所有客户端都可以访问。
否则,您需要查看UPnP和/或类似 UDP hole punching实现可能受到上面列出的限制的客户端之间的访问。
关于客户端到客户端的连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8619267/