我在Google App Engine上运行了一个Web应用程序,需要为连接的Web客户端提供近乎实时的更新。一种方法是使用Google App Engine渠道API,但我对使用专有解决方案感到有些不安。
是否有可靠的托管服务允许客户端使用Socket.IO(及其所有支持的回退协议)进行连接,以及在Google App Engine上运行的Web服务器解决方案是否可以向其发布通知?提供相同功能的任何其他替代方案?
答案 0 :(得分:0)
您正在寻找像beaconpush.com这样的东西吗?
答案 1 :(得分:0)
我和你有同样的问题。 我也考虑过使用Channel API,但是免费配额非常低(每天创建100个频道,每个客户端都是一个频道)。
这是我正在构建的解决方案:
所有服务器逻辑都在app engine python运行时
中运行app引擎提供所有html和客户端代码
我在dotcloud上运行一个node.js socket.io服务器(使用他们的免费套餐)
node.js服务器设置一个http服务器,该服务器监听几个特殊url端点上的请求(即:myapp-on.dotcloud.com/room/ [room_id]),当它被调用时会触发套接字.io向适当的客户广播
在app引擎上生成的html客户端连接到myapp-on.dotcloud.com
客户端中的所有用户输入都通过普通的ajax post / get
发送到app引擎当应用引擎服务器代码需要向客户端推送内容时,它会在相应的网址(myapp-on.dotcloud.com/room/ [room_id])上进行网址提取,触发通过socket.io传递的消息连接的客户
我还没有实现这个,但听起来像是一个可行的计划 我们的想法是将所有逻辑保留在app引擎中,并仅将socket.io服务器用作消息推送器