Jim*_*_CS 11 php sockets html5 websocket
我已经在互联网的各个地方看到它提到HTML5 websockets不能很好地与PHP一起工作,PHP的本质只适合与它们一起使用.另一方面,我看到有关使用PHP和websockets的多个教程,我已经注意到一些PHP websocket实现,例如http://code.google.com/p/phpwebsocket/
那么有没有人有关于使用带有PHP的websockets的任何确切信息.它们是否可以与PHP一起使用,与Java或Python相比,使用它们有哪些优点/缺点?为什么我读了很多人说它们不能很好地协同工作?
问题是WebSockets是为长时间运行的线程/进程设计的,每个线程/进程都维护着多个事件驱动的连接,而PHP(以及它的Apache队列)是围绕短暂的单进程程序范例设计的(例如max_execution_time通常设置为30秒),会话是单线程的).
这并不是说用PHP编写WebSockets服务器实现是不可能的.我知道至少有一个项目已经完成了这个(但请注意,即使这个例子也是从命令行运行,而不是通过mod_php).但是,WebSockets的PHP实现很可能与PHP最常用的廉价/共享托管的设置不兼容.
因此虽然它可以在PHP中运行,但最终还是必须运行一个单独的服务器进程(来自Apache),如果你正在使用允许单独服务器进程的托管类型,那么将WebSockets代码写入更容易的东西更容易专为事件驱动编程而设计.
如果您不打算提供数万个并发双工连接,那么您可能最好将AJAX和SSE与PHP后端结合使用.