Google App Engine上でWebSocketサーバーを実行するにはどうすればよいですか?出来ますか?可能でしょうか?
それは可能ですか?
番号。
GAEは一般的なインバウンドソケット接続を許可していないため、今はできません。各リクエストも30秒に制限されていますが、これは自動再接続とセッショントラッキングで簡単に回避できます。
それは可能でしょうか?
恐らく。
GoogleはWebSockets標準の最大の(主要な)推進者の1つです。彼らが将来のある時点でGAEにサポートをプッシュしないとしたら、私は驚くでしょう。 WebSocketsドラフト標準はまだ流動的であるため、標準がより堅固になる前に、Googleはサポートの追加をためらう可能性があることに注意してください。
これがGAEでのWebSocketsサポートのバグです: http://code.google.com/p/googleappengine/issues/detail?id=2535
Googleの従業員は、それがロードマップにないことを示しているが、それが有用であることを知っていることに注意してください。発表されていない機能についてグーグルから得るのと同じくらい肯定的な答えです。 WebSocketサポートを優先して、そのバグにあなたの声を追加することをお勧めします。傷つけることはできません。
また、アプリケーションによっては、GAEがまもなくサポートされるChannel APIを検討する場合があります。
EDIT(2015):Channels APIが利用可能になりました(しばらくの間)。
現在、正式にサポートされています。
https://cloud.google.com/appengine/docs/python/channel/ を参照してください
[〜#〜] edit [〜#〜]:WebSocketではなくChannel APIがサポートされています。 Channel APIはWebSocketに基づいて構築されていますが、WebSocketに直接アクセスすることはできません。典型的なWebアプリには十分だと思います。
2019年1月9日の時点で正式にベータ版になりましたが、App Engineflexibleのみが対象です。たとえば、 Pythonドキュメント を参照してください。 issue tracker によると、これはどの言語でも機能します。
カップルの人々が別のサーバーの助けを借りてGAEで動作するWebSocketを取得しています...チェックアウト http://code.google.com/p/typhoonae/wiki/WebSockets
できません。
GAEはHTTPリクエストを30秒に制限し、WebSocketは長時間接続が開かれることを想定しています。
可能でしょうか?グーグルだけがこれを知っています。
Google App Engineは最近、App Engineフレキシブル環境でのWebsocketのサポートを開始しました。あなたは彼らのブログ投稿を見ることができます。
これもあります: https://cloud.google.com/appengine/docs/go/sockets/ ただし、実験的で非常に低レベルです。
2019年6月
GAEのWebSocketサポートは、SLA for Flexでサポートされています。
Hi everyone, I'm happy to announce that Websockets support
for Flex is now Generally Available! We've made no changes since Beta
but Websockets traffic is now subject to our SLA.
We've also published documentation for this feature for all App Engine Flex languages.
https://issuetracker.google.com/issues/35886348#comment285 を参照してください