如何在GAE之上运行WebSocket服务器?

Alo*_*kin 30 google-app-engine websocket

如何在Google App Engine上运行WebSocket服务器?可能吗?会有可能吗?

kan*_*aka 25

可能吗?

没有.

你现在不能,因为GAE不允许通用的入站套接字连接.每个请求也限制为30秒,但这可以通过自动重新连接和会话跟踪轻松解决.

会有可能吗?

大概.

Google一直是WebSockets标准的最大(主要)推动者之一.如果他们在未来某个时候不支持它进入GAE,我会感到惊讶.请注意,WebSockets草案标准仍然处于不稳定状态,因此在标准更加稳固之前,Google可能会对添加支持感到犹豫不决.

以下是GAE上WebSockets支持的错误:http://code.google.com/p/googleappengine/issues/detail? id = 2535

请注意,谷歌员工表示它不在路线图上,但他们知道它会很有用.这是一个积极的答案,因为你从谷歌获得有关尚未公布的功能.我建议将您的声音添加到该bug中,以支持WebSocket支持.它不会伤害.

此外,根据您的应用程序,您可能会考虑很快可能获得GAE支持的Channel API:

EDIT(2015):Channels API现已上市(已经有一段时间了).


bsc*_*ott 15

所有这些答案都已过时.

渠道API已被弃用.Google 强烈建议您使用Firebase.

值得注意的是,谷歌现在已经发布了灵活的环境.

使用灵活的环境,您可以轻松地允许套接字连接,或使用Python 3.


Ton*_*ada 10

它现在正式得到支持.

请参阅https://cloud.google.com/appengine/docs/python/channel/

编辑:支持Channel API,而不支持WebSockets.Channel API构建在WebSockets上,但它不允许您直接访问WebSocket.我认为它对于典型的Web应用程序来说已经足够了.

  • 这也是日落,并将于2017年10月31日停止工作:https://cloud.google.com/appengine/docs/deprecations/channel (3认同)