套接字服务器在多个端口上的性能

时间:2013-05-30 15:54:19

标签: php

我想在AS3中构建一个游戏,并在PHP / MySQL中完成大部分逻辑,因为我在PHP方面比在JAVA推荐的任何其他语言方面更有经验。

我已经阅读了很多关于PHP不适合PHP套接字服务器的选项。主要原因是它无法处理超过1000个客户端。

但是我从来没有找到一个好的回答为什么它实际上是这样的? PHP进程崩溃了吗?是否可以在不同的端口上设置示例2套接字服务器?它会处理大约2000个客户吗?还是不行?

1 个答案:

答案 0 :(得分:0)

如果您了解AS,我实际上会推荐Java或Node。 AS3非常类似于Java和JavaScript(一些差异),这将使转换变得非常轻松。您必须决定的魔力是每秒通过每个客户端的消息数量。 如果负载很轻,请选择Node。如果负载很重,则更喜欢Java。

但是,如果您想坚持使用PHP,则需要从CLI运行多个游戏实例(来自Apache的 NOT )。然后,您可以通过任何您喜欢的方式通过标准套接字连接到它们。这很容易做到。

硬位是同步所有实例。您可以通过将它们全部连接到专用于将消息中继到服务器的实例,或者让它们相互连接来实现。游戏通信理论书籍和教程将派上用场。

如果使用PHP,您的其他问题将是:

  • 每个守护程序的套接字连接限制
  • PHP的单线程特性
  • 缓存
  • 从一些本质上没有这个
  • 的东西构建一个事件多客户端套接字接口

与Java相比,PHP处于严重劣势。但是,这是可能的。