Как я могу запустить сервер WebSocket поверх GAE? - PullRequest
30 голосов
/ 06 ноября 2010

Как мне запустить сервер WebSocket поверх Google App Engine?Является ли это возможным?Будет ли это возможно?

Ответы [ 9 ]

25 голосов
/ 07 ноября 2010

Возможно ли это?

номер

Вы не можете сейчас, потому что GAE не разрешает общие входящие соединения сокетов. Каждый запрос также ограничен 30 секундами, но это можно легко обойти с помощью автоматического переподключения и отслеживания сеанса.

Будет ли это возможно?

Возможно.

Google был одним из крупнейших (основных) промоутеров стандарта WebSockets. Я был бы удивлен, если бы они не выдвинули поддержку этого в GAE в какой-то момент в будущем. Обратите внимание, что проект стандарта WebSockets все еще находится в процессе изменений, поэтому Google, возможно, не решится добавить поддержку, прежде чем стандарт станет более надежным.

Вот ошибка для поддержки WebSockets в GAE: http://code.google.com/p/googleappengine/issues/detail?id=2535

Обратите внимание, что сотрудник Google указывает, что его нет в дорожной карте, но он знает, что это будет полезно. Это примерно такой же положительный ответ, как вы получаете от Google о функциях, которые не были объявлены. Я рекомендую добавить ваш голос к этой ошибке в пользу поддержки WebSocket. Это не может повредить.

Также, в зависимости от вашего приложения, вы можете рассмотреть Channel API, который, скорее всего, скоро будет иметь поддержку GAE:

РЕДАКТИРОВАТЬ (2015) : API каналов теперь доступен (давно).

14 голосов
/ 05 декабря 2016

Все эти ответы устарели.

API канала был устарел .Google настоятельно рекомендует использовать Firebase .

Стоит также отметить, что Google выпустила гибкую среду .

Благодаря гибкой среде вы можете легко разрешить сокетные соединения или использовать Python 3.

9 голосов
/ 20 октября 2014

Официально поддерживается.

См. https://cloud.google.com/appengine/docs/python/channel/

РЕДАКТИРОВАТЬ : поддерживается API канала, а не WebSocketsChannel API построен на WebSockets, но не дает вам прямого доступа к WebSocket.Полагаю, этого достаточно для типичных веб-приложений.

2 голосов
/ 10 января 2019

По состоянию на 9 января 2019 года он официально находится в бета-версии - но только для App Engine Flexible . Например, см. Документацию Python . Согласно системе отслеживания проблем , она будет работать на любом языке.

2 голосов
/ 11 мая 2012

Несколько человек получили веб-сокеты, работающие с GAE с помощью другого сервера ... checkout http://code.google.com/p/typhoonae/wiki/WebSockets

2 голосов
/ 06 ноября 2010

Вы не можете.

GAE ограничивает HTTP-запросы 30 секундами, WebSockets ожидает, что соединение будет открыто долгое время.

Будет ли это возможно? Только Google знает это.

1 голос
/ 06 февраля 2019

Google App Engine недавно запустил поддержку веб-сокетов в гибкой среде App Engine.Вы можете взглянуть на их сообщение в блоге.

https://cloud.google.com/blog/products/application-development/introducing-websockets-support-for-app-engine-flexible-environment

1 голос
/ 03 июня 2015

Есть также это: https://cloud.google.com/appengine/docs/go/sockets/ Это экспериментальный и очень низкий уровень.

0 голосов
/ 26 июня 2019

Июнь 2019

Поддержка веб-сокетов для GAE теперь поддерживается в SLA для 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...