Java 在基于回合的客户端服务器游戏中识别用户

Java identifying user in a turn based client server game

我正在写一个简单的回合制游戏。逻辑已完成,服务器也正常运行。我只有一个小问题;我如何识别应用程序的用户?

现在,如果我结束回合,逻辑就好像这是一个单人游戏,我可以继续与玩家 2 等玩。我如何在玩家一进行他的操作时禁止第二个玩家的输入反过来,反之亦然?它也应该总是显示玩家自己的牌,现在它显示当前玩家的牌(在回合结束时切换)

我正在实现服务器套接字,看到我可以获取用户的 IP 地址,但是我该如何连接两者呢?我是否应该使用播放器实例保存 IP 地址,并且每次输入时检查当前播放器 IP 是否与进行输入的 IP 相同?

服务器用作广播,两个玩家都有应用程序 运行,当他们结束回合时,信息将通过服务器发送给其他用户。

如果我可以提供一些具体的代码,请告诉我,我不想post这里的所有信息太多了。

I am implementing server sockets and saw that I can get the IP address of the user, but how can I connect the two then?

客户端IP地址不唯一标识用户。由客户端 IP 和客户端端口号组成的一对将用作 临时 标识符。 (但不是永久性的,用户每次连接或重新连接时将 至少 具有不同的端口号,并且 IP 地址也可能更改。)

您可以使用哈希映射将 IP/端口对映射到 "player" 对象或名称或其他内容。

Should I save the IP address with the player instance and everytime an input comes check if the current players IP is the same as the one that makes the input?

IP + 端口。

这是一种方式。另一种方法是跟踪您正在读取的套接字/套接字输入流。