多人游戏 - 如何区分多个客户端

时间:2013-02-08 11:17:40

标签: udp multiplayer

如何在收到数据包时区分客户端?我应该在连接时为它们分配一些GUID,并在每个特定于客户端的数据包中包含该GUID吗?如果是这样;是不是很容易操纵你的GUID,以便服务器认为你是别人?

目前正试图让基本的UDP服务器继续运行,我似乎无法弄清楚这一部分。得益于GafferOnGames.com,得到了序列+ ack的基础知识。但我正在努力支持不止一个客户。每个客户端是否应该有自己的“套接字”客户端,或者我应该使用相同的套接字并且每次只指定远程主机?如果两个客户端从同一路由器(相同的公共IP地址)发送,那么它们将在服务器上显示为一个。

我似乎错过了多客户端UDP服务器的基础知识 - 但要么我在谷歌搜索错误的搜索条件,要么我完全被自己的想法所蒙蔽。

编辑: 我是否认为IP +端口永远不会改变?从atm我使用一个套接字一个服务器和一个套接字在客户端,一个服务器端口和一个客户端端口。

但是如果我使用IP +端口,那么每个客户端都不会从操作系统中获得一个新的随机分配端口吗?

客户端#1通过端口5400连接到服务器。他被分配了端口5041。

客户端#2通过端口5400连接到服务器。他被分配了端口7632。

等等..

并不意味着客户端使用的每个端口都必须在保护服务器的防火墙中打开?

0 个答案:

没有答案
相关问题