首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >websockets适合与PHP一起使用吗?

websockets适合与PHP一起使用吗?
EN

Stack Overflow用户
提问于 2012-07-10 02:03:16
回答 2查看 4.3K关注 0票数 14

我在互联网上的许多地方都看到过,places与HTML5不能很好地协同工作,而places本身就很适合与之配合使用。另一方面,我看到了很多关于在websocket中使用PHP的教程,我注意到了一些PHP实现,比如http://code.google.com/p/phpwebsocket/

那么,有没有人有关于在PHP中使用websockets的明确信息。它们可以与PHP一起使用吗?与Java或Python相比,在PHP中使用它们的优缺点是什么?为什么我读到很多人说它们不能很好地协同工作?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-10 03:25:41

问题是WebSockets是为长时间运行的线程/进程设计的,每个线程/进程都维护多个事件驱动的连接,而PHP (以及它的Apache cohort)是围绕着短暂的单进程过程范例(例如。max_execution_time is commonly set to 30 seconds,并且会话是单线程的)。

这并不是说用PHP编写WebSockets服务器实现是不可能的。我知道至少有一个项目具有done exactly this (但请注意,即使这个示例也是从命令行运行的,而不是通过mod_php)。但很可能WebSockets的PHP实现与最常使用PHP的廉价/共享主机的设置不兼容。

因此,虽然在PHP中可以做到这一点,但你最终还是必须运行一个单独的服务器进程(来自Apache),如果你在允许独立服务器进程的主机上,那么在为事件驱动编程而设计的东西中编写WebSockets代码会更容易。

如果您不打算为数万个并发的双工连接提供服务,那么在PHP后端结合使用AJAX和SSE可能会更好。

票数 9
EN

Stack Overflow用户

发布于 2012-07-12 21:39:52

我最近尝试了phpwebsocket,但它现在不能工作(php 5.4和chrome)代码引用了握手中的第二个键,这在websocket协议的Rev.13中是不存在的,我没有时间阅读RFC来理解问题所在。

可以肯定的是,这种解决方案比使用长轮询的AJAX更优雅、更具反应性,但是目前websockets还不稳定,我认为等待w3c宣布它稳定会更有趣。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11400541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档