我正在尝试寻找一个例子来展示数据从服务器发送到哪里,并且推送到一个/多个客户端这些信息会立即更新,即客户端不会发出更新请求。无论我们谈论的是移动设备、桌面设备还是其他设备,这都无关紧要。一个更好的例子是同一条消息有多个收件人。数据是什么或它用于什么环境并不重要,重要的是接收它的即时性。我想金融和股票市场可能有一些例子,但我没能通过谷歌搜索找到任何例子。
IM 客户端就是一个很好的例子,并且也在我的列表之一上 ;)
如果有人从事此类应用程序的研究或者了解具体的实现,您能否简要介绍一下其用例,如果是商业软件,请介绍一下软件的名称。
这基本上都是为了研究目的,所以不需要特别详细。
如果有人能帮忙,谢谢。
编辑 - 问题很模糊。正在构思,所以需要一些例子。一定有大量的应用程序都是这样工作的。
答案1
Linux 中的 screen 命令可以将多个 screen 附加到一个会话。因此,其中一个的更改会推送到所有其他的。
这
nc
命令也可能有用,据我所知,它不支持来自多个客户端的连接,但这是一个简单的例子。
在编程世界中,观察者模式可能是您想要的。
答案2
互联网中继聊天 (IRC)
由于人们不断地向服务器(频道)发送聊天消息和事件,因此其他连接的人都会得到更新。
答案3
基于服务器的网络游戏
任何连接到集中式服务器进行实时游戏的游戏都需要服务器向客户端游戏玩家提供游戏事件数据。
答案4
维基百科文章推动技术可以是一个很好的起点:
同步会议和即时通讯是推送服务的典型示例。聊天消息(有时是文件)在消息服务收到后立即推送给用户。分散式点对点程序(例如 WASTE)和集中式程序(例如 IRC 或 XMPP)都允许推送文件,这意味着发送者而不是接收者发起数据传输。
电子邮件也是一种推送系统:它所基于的 SMTP 协议是一种推送协议(请参阅推送电子邮件)。但是,最后一步(从邮件服务器到台式计算机)通常使用拉取协议,如 POP3 或 IMAP。现代电子邮件客户端通过反复轮询邮件服务器,频繁检查是否有新邮件,使这一步看起来是即时的。IMAP 协议包括 IDLE 命令,该命令允许服务器在有新邮件到达时通知客户端。最初的黑莓是无线环境下电子邮件推送技术的第一个流行示例。
另一种流行的互联网推送技术是 PointCast Network,它在 20 世纪 90 年代开始流行。它提供新闻和股票市场数据。在浏览器之战最激烈的时候,Netscape 和微软都将其集成到自己的软件中,但后来逐渐消失,并在 21 世纪被 RSS(一种拉动技术)取代。
其他用途是支持推送的网络应用程序,包括市场数据分发(股票行情自动收录器)、在线聊天/消息系统(网络聊天)、拍卖、在线投注和游戏、体育赛事结果、监控控制台和传感器网络监控。
上面的文章包含许多链接,我没有在这里重复。