API de Sockets para servicios agrupados en paquetes heredados


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.88.8.4.42001: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
  • 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.