如何实现服务器推送(推送技术)http或windows套接字[关闭]
Posted
技术标签:
【中文标题】如何实现服务器推送(推送技术)http或windows套接字[关闭]【英文标题】:how to implement server push (push technology) either http or windows sockets [closed] 【发布时间】:2012-03-22 11:58:12 【问题描述】:已对问题和描述进行了编辑,以使用户在获得 4 票后能够很好地理解我要问的问题。
我有一个 vps(虚拟专用服务器)。
我有一个桌面应用程序,我想要来自 vps 网络服务器的通知。
如果需要,我可以将 c 和 php 作为服务器端脚本编写。
我认为服务器推送机制可以做到这一点?
那我该怎么办?
我读到长时间打开的连接并保持活动状态将对服务器造成负担
我知道 c、win32 api、php、winsock 和 php 套接字。
仅仅是推送信息的编程技术叫推送技术吗?
我在互联网上阅读了很多解释,但没有线框类型的解释,我不知道 c、php 中的哪些库会这样做......
我对推送技术的假设是,它只是一种机制,使用任何编程语言(win32api、php)中的现有库(套接字)来从远程位置获取即时通知。
【问题讨论】:
咆哮(特别是在问题标题中)是让问题被否决和关闭的可靠方法。表现出一些专业精神。 另外,问一个清晰的问题会帮助你得到答案。我推荐阅读Writing the perfect question。 @Jayapal:我同意 Oded。你应该修正你的问题标题 这不是关于程序的问题,它是对架构的一次钓鱼探险,而且是一次特别发牢骚的探险。如果要连接到 Web 服务器,则必须使用 HTTP 协议。要么进行轮询,要么使用未关闭的连接。很简单。如果您在 Web 浏览器中工作,也是如此,除非您想限制浏览器并编写插件。如果这些不适用,请提出您自己的协议。 我已经更改了问题的标题和问题的正文以及人们现在将如何理解。 【参考方案1】:如果您不想使用开放连接,您有两种选择:
1) 您的计算机上有一个客户端应用程序,它经常检查服务器是否有新通知
2) 你创建了一个在你的桌面上运行的小通知服务器(比如一个小的 node.js 网络服务器或其他东西)。然后,您在服务器上有一个客户端应用程序,只要有通知,它就会连接到您的桌面。
【讨论】:
我一直在做第一点……没关系。关于第二点,我想知道我们是否可以从远程服务器(网络服务器)直接连接到最终用户系统......防火墙不会做一些阻止 是的,您很可能会遇到防火墙问题。但是,如果您希望外部系统在不频繁获取或打开连接的情况下将通知推送到您的桌面,那么您唯一的选择就是这个。至少通过 TCP/IP 网络,例如 Internet。据我所知,其他应用程序(例如 MSN 和 Skype)使用开放式连接。 hhmmm...有趣...所以它就像http中的keepalive...一个可以随时接收信息的开放连接...让我试试...这需要一些时间......但是......必须这样做。 您不一定需要普通的 HTTP 连接。对于双重通信,您也可以尝试使用 websocket。它最近已成为 RFC 标准,并且在大多数主要浏览器中都受支持。或者,查看 socket.io以上是关于如何实现服务器推送(推送技术)http或windows套接字[关闭]的主要内容,如果未能解决你的问题,请参考以下文章