Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Facebook聊天是如何工作的?_Php_Facebook - Fatal编程技术网

Php Facebook聊天是如何工作的?

Php Facebook聊天是如何工作的?,php,facebook,Php,Facebook,Facebook聊天是如何工作的?谁能告诉我这个主意吗?我的意思是他们正在使用websocket或AJAX?他们是如何实施的?这是一个模型: Comet是一种web应用程序模型,其中包含一个长期保存的HTTP请求 允许web服务器在不使用浏览器的情况下将数据推送到浏览器 明确要求。彗星是一个总括性术语,包括 实现这种交互的多种技术。所有这些方法 依赖浏览器默认包含的功能,如JavaScript, 而不是在非默认插件上。彗星方法不同于 web的原始模型,其中浏览器请求完整的 一次浏览一个网页 co

Facebook聊天是如何工作的?谁能告诉我这个主意吗?我的意思是他们正在使用websocket或AJAX?他们是如何实施的?

这是一个模型:

Comet是一种web应用程序模型,其中包含一个长期保存的HTTP请求 允许web服务器在不使用浏览器的情况下将数据推送到浏览器 明确要求。彗星是一个总括性术语,包括 实现这种交互的多种技术。所有这些方法 依赖浏览器默认包含的功能,如JavaScript, 而不是在非默认插件上。彗星方法不同于 web的原始模型,其中浏览器请求完整的 一次浏览一个网页


comet框架的示例如下。它是针对javascript的,但是comet不仅可以用javascript编写

用户通过称为WebSocket握手的过程建立WebSocket连接。此过程从用户向服务器发送常规HTTP请求开始。此请求中包含一个升级头,通知服务器用户希望建立WebSocket连接。 WebSocket URL使用ws方案。还有用于安全WebSocket连接的wss,它相当于HTTPS。 如果服务器支持WebSocket协议,则它同意升级,并通过响应中的升级头进行通信。 握手完成后,初始HTTP连接将被使用相同底层TCP/IP连接的WebSocket连接所取代。此时,任何一方都可以开始发送数据


使用WebSocket,您可以传输任意数量的数据,而不会产生与传统HTTP请求相关的开销。数据作为消息通过WebSocket传输,每个消息由一个或多个包含您正在发送的数据(有效负载)的帧组成。为了确保消息在到达客户端时能够正确重建,每个帧都以4-12字节的有效负载数据作为前缀。使用这种基于帧的消息系统有助于减少传输的非有效负载数据量,从而显著减少延迟。

使用firebug查看facebook页面;特别是控制台选项卡。