2012-03-10 61 views
1

我有一个在Google App Engine上运行的Web应用程序,需要为连接的Web客户端提供接近实时的更新。一种方法是使用Google App Engine Channels API,但我对使用专有解决方案感到有些不安。是否有任何针对Socket.IO(或其他)的托管服务?

是否有任何可靠的托管服务允许客户端使用Socket.IO(及其所有支持的后备协议)进行连接,以及在Google App Engine上运行的Web服务器解决方案是否向其发布通知?任何其他提供相同功能的替代方案?

回答

0

您在寻找类似beaconpush.com的产品吗?

+0

是的,如果存在这样的事情,则基于Socket.IO。 – SoftMemes 2012-03-10 19:13:08

0

我和你有同样的问题。 我也考虑过使用Channel API,但免费配额相当低(每天创建100个频道,每个客户端都是一个频道)。

这里是我建立的解决方案:所有服务器的逻辑运行在应用程序引擎Python运行时

应用引擎提供所有的HTML和客户端代码

我运行的node.js socket.io服务器上dotcloud(使用他们的免费层)

node.js服务器建立一个HTTP服务器,侦听在几个特殊的URL端点上获取请求(即:myapp-on.dotcloud.com/room/ [room_id]),当它被调用时触发t他socket.io广播到相应的客户端在App Engine上产生

HTML客户端连接到我的myapp-on.dotcloud.com

在客户端所有的用户输入通过正常的AJAX后发送到应用程序引擎/获取

当应用引擎服务器代码需要将某些内容推送到客户端时,它会在适当的URL(myapp-on.dotcloud.com/room/[room_id])上进行url提取,从而触发通过套接字进行的消息推送。 io到连接的客户端

我还没有实现这个,但听起来像一个可行的计划 这个想法是保持应用引擎中的所有逻辑,并且只使用socket.io服务器作为消息推送器

相关问题