我正在构建一个像游戏服务器这样的扑克,我打算将所有登录名和游戏逻辑都在一个服务器上进行处理,但是从我在网络上的研究中,我了解到这无法扩展,因此拆分是有意义的工作进入登录和游戏服务器。但是,我在登录服务器中处理了身份验证并让客户端与游戏服务器建立了新的连接后,却没得到什么,我怎么知道哪个客户端是哪个?我是否不必再次重新登录并因此而放弃使用服务器进行登录的目的?有没有办法在我不知道的进程和机器之间传递连接?对不起,我对网络的了解很少。
4
YAGNI:您将不需要它。不要实施过早的优化。登录听起来像是游戏中一个非常琐碎的部分,将它拆分不可能带来任何好处。一旦您的游戏拥有了足够多的用户(您应该能够在单个服务器上支持数千名用户,而其他用户仅出于冗余目的),您将能够雇用一些了解这种情况的软件工程师。
—
MarkR
您接受了一个误导性的答案,您应该仔细考虑一下,否则最终将产生错误的想法,并在代码中产生错误的安全感。
—
o0'。
我喜欢Kylotan的答案,因为我不需要在游戏服务器和登录服务器之间建立额外的连接,我也可以看到Philip的观点,即秘密密钥的泄露是所有正在运输的帐户的泄露。我将同时实现两种登录版本,并在对代码进行审核时询问安全专家。我的问题似乎很基本,我希望它们将是每个人都同意的标准解决方案。去搞清楚。如果只有安全专家可以参加讨论并做出决定。
—
user342580 2013年
严格来说,在您的服务器之间传递登录令牌会更安全,只要您有一个安全的渠道即可执行此操作。实施起来也比较困难,这会增加您出错的风险。除非有人可以掌握您的秘密密钥,否则基于哈希的消息身份验证系统应该是绝对安全的-如果他们可以通过访问您的内部系统来掌握您的密钥,那么您将无法通过发送登录名来解决问题手动标记。
—
Kylotan