¿Cómo puedo ejecutar un servidor WebSocket sobre Google App Engine? ¿Es posible? ¿Será posible?¿Cómo puedo ejecutar un servidor WebSocket encima de GAE?
Respuesta
¿Es posible?
Nº
Puede no en este momento porque GAE no permite conexiones de socket entrantes genéricos. Cada solicitud también está limitada a 30 segundos, pero esto podría solucionarse fácilmente con la reconexión automática y el seguimiento de la sesión.
¿Será posible?
Probablemente.
Google ha sido uno de los mayores (principales) promotores del estándar WebSockets. Me sorprendería que no lo respalden en GAE en algún momento en el futuro. Tenga en cuenta que el borrador del estándar de WebSockets aún fluye, por lo que Google puede dudar en agregar soporte antes de que el estándar sea más sólido.
Aquí está el error de WebSockets apoyan en GAE: http://code.google.com/p/googleappengine/issues/detail?id=2535
Tenga en cuenta que un empleado de Google indica que no está en la hoja de ruta, pero que saben que sería útil. Es una respuesta tan positiva como la que obtienes de google sobre las funciones que no se han anunciado. Recomiendo agregar su voz a ese error a favor del soporte de WebSocket. No puede doler
También, dependiendo de la aplicación, se puede considerar la API de Canal, que probablemente tendrá el apoyo GAE pronto:
- http://googleappengine.blogspot.com/2010/05/app-engine-at-google-io-2010.html
- http://bitshaq.com/2010/09/01/sneak-peak-gae-channel-api/
EDITAR (2015): la La API de canales está disponible ahora (lo ha sido por un tiempo).
Consulte el canal https://developers.google.com/appengine/docs/python/channel/?csw=1 –
I no puedo crear un canal en el lado del cliente. ¿Puedes responder esto http://stackoverflow.com/questions/34332222/unable-to-create-new-channel-in-javascript-of-channel-api –
EDIT 2016: Canales ahora está en desuso ... –
No puede.
GAE limita las solicitudes de HTTP a 30 segundos, WebSockets espera tener una conexión abierta durante mucho tiempo.
¿Será posible? Solo Google sabe esto.
El límite de solicitud de 30 segundos no es realmente un bloqueador principal. Sería fácil crear una capa que inicie una nueva conexión de WebSockets para la misma sesión antes de que caduque la anterior, de modo que nunca tenga vacíos en la comunicación. Solo permitir solicitudes entrantes HTTP es el verdadero asesino. – kanaka
Websockets son bidireccionales (como lo es HTTP) pero se inician solo entrantes (de cliente a servidor). http://en.wikipedia.org/wiki/WebSockets –
Y GAE también es saliente: use URL Fetch –
Un par de personas han conseguido websockets trabajar con GAE con la ayuda de otro servidor de pago y envío ... http://code.google.com/p/typhoonae/wiki/WebSockets
es apoyado oficialmente ahora.
Ver https://cloud.google.com/appengine/docs/python/channel/
EDITAR: la API de Canal es compatible, no WebSockets. Channel API se basa en WebSockets, pero no le da acceso directo a WebSocket. Supongo que es lo suficientemente bueno para aplicaciones web típicas.
Para posteridad, la API de Canales es solo frontend-> back-end. No es bueno para las conexiones servidor-> servidor. –
También está en el ocaso y dejará de funcionar a partir del 2017-10-31: https://cloud.google.com/appengine/docs/deprecations/channel – sengi
https://i.ytimg.com/vi/xZ_JiU7L9Zk/hqdefault .jpg –
También está esto: https://cloud.google.com/appengine/docs/go/sockets/ Aunque es experimental y de muy bajo nivel.
"Los enchufes están disponibles solo para aplicaciones de pago. No puede crear un socket de escucha, solo puede crear sockets de salida." –
Todas estas respuestas están desactualizadas.
La API del canal ha sido deprecated. Google fuertemente le recomienda usar Firebase.
También vale la pena señalar que Google ha lanzado el flexible environment.
Con el entorno flexible, puede permitir conexiones de socket fácilmente, o usar Python 3.
- 1. ¿Cómo puedo ejecutar una aplicación GAE en un servidor privado?
- 2. ¿Cómo puedo implementar un servidor WebSocket seguro (wss: //) en Python?
- 3. Cómo crear un servidor WebSocket usando SuperWebSocket
- 4. Servidor Websocket con PHP
- 5. fácil de programar WebSocket servidor
- 6. ¿Cómo puedo ejecutar un php sin un servidor web?
- 7. ¿Puede GAE actuar como un servidor XMPP?
- 8. Uso de WebSocket en el servidor Apache
- 9. ¿Cómo puedo servir un archivo de película del servidor de desarrollo (dev_appserver.py) de GAE Python?
- 10. ¿Puedo abrir una conexión websocket a un servidor local que se ejecuta en un puerto arbitrario?
- 11. Servidor de políticas con gevent-websocket
- 12. Servidor WebSocket en PHP sin daemons?
- 13. WebSocket
- 14. Servidor GAE Java JSON REST simple
- 15. ¿Cómo ejecutar Dart en un servidor?
- 16. Implementaciones del servidor WebSocket para Delphi
- 17. ¿Hay un cliente Websocket del lado del servidor para node.js?
- 18. ¿cómo puedo ejecutar un applet como aplicación?
- 19. ¿Puedo ejecutar un servidor HTTP en una plataforma móvil?
- 20. configuración de conexión Websocket
- 21. ¿Cómo puedo enviar mensajes más grandes a través de WebSocket?
- 22. ¿Cómo puedo ejecutar un cmdlet de Azur powershell a través de un servidor proxy con credenciales?
- 23. ¿Puedo usar Spring en GAE?
- 24. Reconexión de Cliente cuando el servidor se reinicia en WebSocket
- 25. ¿Cómo ejecutar SWF sin un navegador (en un servidor Linux)?
- 26. Problema de enlace de Websocket con el servidor de Python
- 27. ¿Cómo puedo proteger un servidor emacs?
- 28. Running Fleck (o cualquiera) servidor Websocket en Windows Azure
- 29. ¿Cómo ejecutar un servidor Java en el EC2 de Amazon?
- 30. Apio - ejecutar diferentes trabajadores en un servidor
De 2010 a 2013, muchas cosas han cambiado. Ver el canal https://developers.google.com/appengine/docs/python/channel/?csw=1 –
@JosepValls. ¿Esta solución está construida sobre el estándar WebSocket o es una tecnología específica de Google? – Pacerier