gpt4 book ai didi

java - 区分同一台计算机上的多个客户端

转载 作者:行者123 更新时间:2023-11-30 07:57:11 27 4
gpt4 key购买 nike

我一直在积极开发networking library在过去的一年中,我称为 NitroNet,我希望获得有关如何安全地区分连接到同一台计算机上的服务器的多个客户端(套接字)的想法。

我一直在使用 Java 开发该库,目前它使用客户端 UDP 端口作为唯一标识符来区分客户端。这工作得很好,但我不相信这是真正区分它们的最安全的方法。所以我想知道,有没有更好更安全的方法来真正区分它们?

当我说我需要“区分它们”时,我的意思是当从服务器端的客户端接收到数据包时,我需要能够仅使用来自服务器端的信息来获取服务器端相应的连接实例 socket 。我不希望任何 ID 号存储在实际客户端上,因为担心进行逆向工程和手动更改 ID。任何想法或建议将不胜感激。

最佳答案

当客户端首次连接时,让初始服务器响应包含使用 UDP 端口和建立连接的时间构建的哈希值。这样您就知道这是同一个客户端,因为两个客户端无法同时在同一端口上进行连接。

这并不能解决对逆向工程的恐惧,除非您可以保证服务器以及哈希构建算法的安全。然而,即使这一点受到损害,UDP 端口也将保持不变,使您保持与当前相同的安全级别。

关于java - 区分同一台计算机上的多个客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32505573/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com