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