El tráfico de los sockets se factura como el ancho de banda saliente. App Engine admite sockets salientes a través de 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_KEEPALIVESO_DEBUGTCP_NODELAYSO_LINGERSO_OOBINLINESO_SNDBUFSO_RCVBUFSO_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.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844puerto 53 - SMTP de Gmail:
smtp.gmail.com, puertos 465 y 587 - POP3 de Gmail:
pop.gmail.compuerto 995 - IMAP de Gmail:
imap.gmail.compuerto 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.