如何在php中的在线国际象棋游戏中在两个用户之间共享会话


How to share session between 2 users privately like in online chess games in php?

我希望两个用户可以私下聊天或玩游戏。我应该如何使用会话来保持两个用户之间的共享数据隐私,如聊天数据或任何其他数据,如他们正在私下玩的国际象棋数据。

有可能通过会话还是有更好的方法?

您不应该为两个/多个用户使用一个会话,因为将来您可能希望将数据存储在应该在用户之间共享的会话中(如果您实现登录系统,则可能是用户名)。

您应该在数据库中为每个案例创建一个表。如果你想实现一对一聊天,你应该创建一个如下表来存储person1正在向person2写入的消息。

chat_messages:

from_user_id | to_user_id | message               | timestamp             | ...
-------------------------------------------------------------------------------
3            | 6          | 'Are you there?'      | '2016-01-08 02:00:00' | ...
9            | 2          | 'Hello, this is Maik' | '2016-01-08 03:45:00' | ...
2            | 9          | 'Hi Maik, how are u?' | '2016-01-08 03:45:10' | ...

还应该存在用于存储包括一个唯一标识符(例如user_id)的user信息的表。user_id将在表chat_messages中使用,以供用户参考。在会话中,您将只存储相应用户的userId。

意思是:在users表中,每个用户都有自己的会话和数据集。