Twitter流式API - 它是如何工作的?

3
我目前正在使用Node.js和Socket.io实现流式Twitter API。想知道流媒体部分的工作原理(在Twitter端)?假设我想使用PHP/MySQL实现自己的直播服务,并从数据库中获取最新评论并实时显示它们,该怎么办?
任何信息/输入都将不胜感激。
谢谢
1个回答

5

流媒体Twitter API是HTTP Streaming API的一个示例。

来自Quora(如上所述):

HTTP Streaming是一种用于向Web客户端推送更新的技术。 Web客户端和Web服务器之间保持持久连接,以便当服务器有新信息时,它可以将其推送到客户端。 这是一个真正的持久连接,只会由于网络问题或用户操作(例如导航离开网页或关闭应用程序)而中断。

查看响应标头:

Content-Type:text/html; charset=iso-8859-1
Server:Jetty(6.1.25)
Transfer-Encoding:chunked

你可以看到它使用了Jetty web服务器
虽然这也可以通过PHP实现,但不太可能扩展得很好,效率也不高——这就是为什么Twitter使用Jetty的原因。
要实现你所寻找的功能,你需要将评论提交并存储在数据库中,然后将该评论推送到某种消息队列中。这个消息队列将被某种实时技术(例如与Jetty一起工作的进程)监视,消息将从队列中读取,然后流式传输到连接到你的HTTP流API的任何客户端。
注意:如果你只想向客户端(应用程序、Web浏览器)推送更新(即实时推送、服务器推送、推送通知),那么HTTP流API可能过于复杂。

你还可以在这个问题中看到使用PHP创建HTTP流的示例:https://dev59.com/FGw05IYBdhLWcg3wfh2g#7214483 - leggetter
如果你只是想向客户端(应用程序、Web浏览器)推送更新(即实时推送、服务器推送、推送通知),那么使用HTTP流API可能过于复杂了。在这种情况下,可能的解决方案是什么? - ganesshkumar
已经有许多实时技术可供选择,其中之一可能是最好的选择。需要支持WebSocket并且可以回退到基于HTTP的传输协议。 - leggetter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接