7

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

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

然而,比起标题中的问题,我更想要一个能够全面教我 Web 套接字的资源,例如书籍或在线教程。

任何帮助表示赞赏,谢谢。

4

2 回答 2

11

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

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

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

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

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

看起来这个问题也可能有用。将 PHP 与 Socket.io 一起使用

于 2012-08-18T17:01:24.773 回答
1

这个符合要求吗?

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

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

于 2012-08-18T17:31:07.207 回答