Java 实现服务器推送

Java 实现服务器推送,java,php,python,ruby,server-push,Java,Php,Python,Ruby,Server Push,阅读有关服务器推送的信息。 我想实时将数据从web应用程序推送到客户端。 我将TCP套接字视为选项之一。 对于HTTP,我在网上找到了各种Java、PHP、Python和其他的框架。 但是我不知道这些支持是否会推动 您会选择哪些选项和框架 建议如何实现服务器推送 您主张用什么语言实现相同的功能?为什么 我相信很多大公司都在使用xmpp实现,但常见的是使用comet服务器 有很多python实现,你可以在谷歌上搜索一下。怎么样,它非常好,正在被使用我现在正在使用Orbited,它很棒 如果你正在

阅读有关服务器推送的信息。
我想实时将数据从web应用程序推送到客户端。
我将TCP套接字视为选项之一。
对于HTTP,我在网上找到了各种Java、PHP、Python和其他的框架。 但是我不知道这些支持是否会推动

  • 您会选择哪些选项和框架 建议如何实现服务器推送
  • 您主张用什么语言实现相同的功能?为什么

我相信很多大公司都在使用xmpp实现,但常见的是使用comet服务器


有很多python实现,你可以在谷歌上搜索一下。

怎么样,它非常好,正在被使用

我现在正在使用Orbited,它很棒

如果你正在做聊天或订阅类型的事情,请使用
stompservice
和orbited

如果正在进行1对1客户端映射,请使用
TCPSocket


如果您需要,我可以给您一些代码示例。

Comet是您需要的协议。Comet实现最好的是更难的调用


如果您对Java(或者,我想,Jython)或.NET(IronPython可能在其中)还满意,我怀疑(没有广泛地尝试过它们!)这一定是一个主要的竞争者。这是一个典型的“免费”产品——你可以得到一个免费的(如免费啤酒)版本,或者你可以尝试昂贵的网络版,或者更昂贵的企业版;功能比较是(例如,免费版:没有https,不超过10个并发用户,没有.NET)。

怎么样

你试过了吗?

我个人有偏见,但我喜欢。它与IIS集成,因此不需要其他服务器软件,只需添加一个dll到项目中。

好的,我在项目中使用ASP.NET和comet ajax库。此外,我还尝试了JAVA。。我最后的选择是博金。。因为,只有服务器推送支持并不能解决问题。您将需要某种类型的客户机到服务器对象序列化和对象生命周期管理。PokeIn为我满足了所有这些需求。

框架不“支持”推送。推送只是一个长请求,其中包含睡眠,定期向客户端发送(推送)更新。我认为框架是否支持它不应该引起您的关注。@ryeguy:TCP套接字实现是否比HTTP长轮询更有效。如果您只使用基本HTML(而不是flash,在flash中您可以使用实际的套接字),那么您仍然需要执行HTTP请求。但是,如果您的意思是构建您自己的服务器来接受这些类型的请求,那么是的,它会更好。Facebook在erlang中构建了comet服务器用于聊天。我的实现有多个客户端连接到我的服务器,它们可能会连接几天。。如果是这样,TCP套接字在这里会更好吗?您会推荐什么框架/技术?客户端需要相互通信吗?如果您的服务器正在向客户机发送定制数据,而不是客户机在它们之间发送数据或客户机订阅的服务器广播数据,那么TCP套接字是很好的选择。对于上述情况,请使用Orbited/STOMP/MorbidQ。否则TCPSocket很好,您只需手动编写服务器端套接字。根据服务器需要执行的操作的复杂性,我听说有人使用twisted在套接字上执行一些重载操作,但我还没有这样做。套接字的好处是,您可以用任何喜欢的语言编写服务器。就我个人而言,我倾向于使用Orbited+Python+Django,这对我来说非常好。TCPSocket是指Orbited中的还是通用套接字中的?TCPSocket是内嵌套接字的特定于Orbited的实现。在服务器端,您可以使用您想要的任何套接字。直接或通过另一个框架,如twsited.Comet或HTTP工作吗?在TCP套接字上有类似于Comet的实现吗?是的,Comet是基于长期持有的HTTP请求的,而HTTP请求又在TCP套接字上运行。有关基本知识,请参见。您是否看到Comet服务器端实现的良好比较?我目前正在玩我更喜欢BOSH而不是Comet,因为没有web套接字。既然Orbited在web服务器上打开TCP套接字,我就必须使用VPS吗?。如果我使用共享主机,可能web主机不允许套接字保持打开和运行…不真的,Alex Martelli在他的帖子中提到了这一点。。。但是免费版本只允许10个并发用户…对吗?