El tráfico de los sockets se factura como el ancho de banda saliente. App Engine admite sockets salientes a través del paquete
appengine/socket
.
Las bibliotecas que pueden aceptar un net.Conn
deben funcionar sin modificaciones.
Limitaciones y restricciones
La compatibilidad de los sockets en App Engine tiene las siguientes limitaciones:
- No puedes crear un socket de escucha; solo puedes crear sockets de salida.
- FTP no es compatible.
- Solo puedes usar TCP o UDP; no se permiten protocolos arbitrarios.
- No puedes establecer una vinculación con puertos o direcciones IP específicos.
- El puerto 25 (SMTP) está bloqueado; pero aún puedes usar el SMTP autenticado en el puerto de envío 587.
Los rangos de IP privados, de transmisión, de multidifusión y de Google están bloqueados, excepto los que se indican a continuación:
- DNS público de Google:
8.8.8.8
,8.8.4.4
,2001:4860:4860::8888
,2001:4860:4860::8844
puerto 53 - SMTP de Gmail:
smtp.gmail.com
, puertos 465 y 587 - POP3 de Gmail:
pop.gmail.com
puerto 995 - IMAP de Gmail:
imap.gmail.com
puerto 993
- DNS público de Google:
Los descriptores de socket están asociados con la aplicación de App Engine que los creó y no se pueden transferir (no pueden usarse en otras apps).
Los sockets pueden recuperarse después de 10 minutos de inactividad; cualquier operación de socket lo mantiene en funcionamiento durante otros 10 minutos.
Usa sockets con el servidor de desarrollo
Puedes ejecutar y probar el código con sockets en el servidor de desarrollo, sin usar ningún parámetro de línea de comandos especial.