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 mediante métodos de la biblioteca estándar de PHP, como fsockopen. En las opciones compatibles, las llamadas a socket_get_option mostrarán un valor simulado y las llamadas a socket_set_option se ignorarán de forma silenciosa. Se continuarán generando errores para las opciones no admitidas. Las opciones compatibles son las siguientes:

  • SO_KEEPALIVE
  • SO_DEBUG
  • TCP_NODELAY
  • SO_LINGER
  • SO_OOBINLINE
  • SO_SNDBUF
  • SO_RCVBUF
  • SO_REUSEADDR

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 2 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.