【问题标题】:How do I create a websockets server in PHP?如何在 PHP 中创建 websockets 服务器?
【发布时间】:2012-08-14 18:05:40
【问题描述】:

我已经在互联网上搜索了大约两天,试图了解网络套接字的工作原理,我在 Javascript 和 PHP 方面相对较新,因为我大约在两三个月前开始。

我对什么是 Http 协议以及如何与服务器执行“握手”感到非常困惑,正如我一直在阅读的那样。所以不幸的是,我很难问一个比标题中更具体的问题。

然而,比起标题中的问题,我更想要一个资源,它可以以一种彻底的方式教我有关 Web 套接字的知识,例如一本书或一个在线教程。

感谢任何帮助,谢谢。

【问题讨论】:

标签: php javascript websocket server-side http-protocols


【解决方案1】:

一般来说,套接字只是您可以发送数据的 TCP 流。 HTTP 建立在它们之上。 WebSockets 建立在 HTTP 之上/与 HTTP 并行构建,并允许将数据实时地来回发送到浏览器。标准套接字可以做到这一点,但浏览器具有严格的安全性,这使得使用标准套接字与它们进行通信变得困难。

当您需要从浏览器到服务器的持久连接、实时应用程序或诸如推送通知之类的事情时,WebSockets 非常有用。

不幸的是,我对 PHP 实现了解不多,但看起来这里有一个库:http://code.google.com/p/phpwebsocket/

就我个人而言,我会避免在 PHP 中做这样的事情,因为 PHP/Apache 可能非常繁重,而且由于在有人查看页面时套接字始终处于打开状态,因此服务器资源可能会很快用完。

很多人喜欢将 NodeJS 与 socket.io 一起使用,因为这样您就可以在服务器和浏览器上使用 JavaScript,但实际上这取决于偏好。我会查看 Socket.IO 并找到一种具有良好客户端的语言。

看起来这个问题也可能有用。 Using PHP with Socket.io

【讨论】:

  • 谢谢,这非常有帮助,您建议使用什么来代替 PHP?
  • phpwebsocket 似乎没有得到维护,而且已经过时了。它仅支持仅由 Safari 使用的已弃用的 websocket 协议版本
【解决方案2】:

这个符合要求吗?

http://www.flynsarmy.com/2012/02/php-websocket-chat-application-2-0/

如果没有,我可以找到另一个。

【讨论】:

    猜你喜欢
    • 2013-01-08
    • 2014-10-09
    • 2023-03-22
    • 2015-10-29
    • 2016-11-16
    • 1970-01-01
    • 1970-01-01
    • 2017-02-13
    相关资源
    最近更新 更多