缺少一些重要的用例:
- 如果连接了两个以上的客户端会怎样?
- 客户 1 是如何知道客户 2 的,他是如何与他开始游戏的?
- 如果其中一个客户端断开连接会发生什么?
通常这些用例的答案表明你的服务器有状态,至少你需要处理登录客户端的状态和活动游戏的状态。
您可以使用 PHP 和 MySQL 来实现它,但您可能会发现自己大部分时间都在处理与架构相关的问题,而不是添加新功能。我建议选择更好的框架,至少是 Servlets。
但是,如果您仍然想在 PHP 中执行此操作并且不回答上述用例:
- 登录后,启动拉取机制:客户端每隔 x 秒询问服务器是否有信息给他,并根据响应执行适当的操作。
- 将响应表添加到服务器,每当您有事情要告诉客户端时,将客户端 ID 和响应添加到此表。
- You would probably need a table for logged in users and a table for the states of the games.
Client 1 logged in and start pulling
- Client 1 response: do nothing
Client 2 logged in and start pulling
- Client 1 response: send text
- Client 2 response: do nothing
Client 1 send text
- Client 1 response: do nothing
- Client 2 response: result
Client 2 send text
- Client 1 response: result
- Client 2 response: do nothing
etc.
There are other ways but again, in my opinion PHP is not the right solution here.
Hope this helps, Yaron