java 长轮询 服务端,什么是长轮询,Websockets,服务器发送事件(SSE)和Comet?

Tieme在他的优秀答案中投入了大量精力,但我认为OP问题的核心是这些技术与PHP的关系,而不是每种技术的工作原理 .

除了显而易见的客户端html,css和javascript之外,PHP是Web开发中使用最多的语言 . 然而,PHP在实时应用程序方面有两个主要问题:

1)PHP作为一个非常基本的CGI开始 . 自从它处于早期阶段以来,PHP已经取得了很大进展,但它只是小步骤发生的 . PHP在成为今天的嵌入式和灵活的C库时已经拥有数百万用户,其中大多数用户依赖于它早期的执行模型,所以它尚未在内部试图逃避cgi模型 . 甚至命令行界面也会调用PHP库(linux上的libphp5.so,windows上的php5ts.dll等),好像它仍然是一个处理GET / POST请求的cgi . 它仍然执行代码,好像它只需要构建一个“页面”然后结束它的生命周期 . 因此,它几乎不支持多线程或事件驱动的编程(在PHP用户空间内),这使得它对于实时的多用户应用程序来说当前不实用 .

请注意,PHP确实具有在PHP用户空间中提供事件循环(例如libevent)和线程(例如pthreads)的扩展,但非常非常少的应用程序使用这些 .

2)PHP仍然存在垃圾收集的重大问题 . 虽然这些问题一直在不断改进(可能是结束生命周期的最大步骤,如上所述),但即使是创建长期运行的PHP应用程序的最佳尝试也需要定期重新启动 . 这也使得它对于实时应用程序来说不实用 .

PHP 7将是解决这些问题的重要一步,并且作为实时应用程序的平台似乎非常有前途 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值