Networking 对于多人游戏,需要服务器将玩家彼此连接起来

Networking 对于多人游戏,需要服务器将玩家彼此连接起来,networking,architecture,multiplayer,Networking,Architecture,Multiplayer,我试图了解互联网的工作机制…我了解dns。但这也提出了一个问题,即多人游戏是否也是如此 我见过两种类型的多人游戏,本地/局域网和在线 在联机模式下,您可以连接到服务器,或者与您在一起的某个人成为主机 所以我的问题是,基本上不需要服务器将每个玩家重新分配到玩家池中,就可以构建大厅 如果不是,那么它就不是原始的。是否应该有一种方法来创建唯一的虚拟无限字符串,每个客户端都可以向internet发送请求,并告诉internet,他们也可以将所有数据定向到此地址。多人游戏最常见的两种体系结构是基于服务器的

我试图了解互联网的工作机制…我了解dns。但这也提出了一个问题,即多人游戏是否也是如此

我见过两种类型的多人游戏,本地/局域网和在线

在联机模式下,您可以连接到服务器,或者与您在一起的某个人成为主机

所以我的问题是,基本上不需要服务器将每个玩家重新分配到玩家池中,就可以构建大厅


如果不是,那么它就不是原始的。是否应该有一种方法来创建唯一的虚拟无限字符串,每个客户端都可以向internet发送请求,并告诉internet,他们也可以将所有数据定向到此地址。

多人游戏最常见的两种体系结构是基于服务器的和对等的。当然,任何可以在服务器上运行的代码——也可以在对等基础上运行。简单地说,将服务器代码作为对等“服务器”代码

因此,在您的大厅示例中,也许您可以让客户机代码查找基于对等的服务器,而不是普通服务器。搜索与传统的客户机-服务器体系结构中的搜索相同。。。只是不同的机器在工作

关键是,您编写的客户机代码和服务器代码有足够的灵活性来满足您的要求。这不一定是做这些事情的最简单方式,所以你可能不会发现人们经常做你描述的事情。像魔兽世界这样的大型游戏有很多大型服务器

我的意思是,与普通的服务器体系结构相比,您可以选择以下内容:


它可以归结为您所说的“服务器”的意思。如果您询问是否需要某些机器运行与所有其他机器不同的代码来生成多人游戏,我的答案是否定的。但是,每个对等机可能会运行一些具有传统“服务器”功能的代码。

…nvm。我的意思是,即使在p2p网络中,也需要一台连接用户的服务器,对吗?不,我的意思是,确实需要一台机器,让其他机器知道其他机器的ip地址。或者有没有一种方法可以让互联网上的计算机相互连接,形成一个大厅,而无需询问计算机连接人。当大厅形成时,有一些数据结构,保存在某个地方,用于模拟大厅。该数据结构可以在一台机器上,也可以分布在多台机器上。通常把它放在一台机器上比较容易。在任何一种情况下,机器都需要知道如何相互通信,无论是P2P还是通过中央服务器或其他配置。