Traffic from sockets is billed as outgoing bandwidth. App Engine supports outbound sockets using methods from the standard PHP library such as
fsockopen.
For supported options, calls to
socket_get_option
will return a mock value and calls to
socket_set_option
will be silently ignored. Errors will continue to be raised for unsupported options.
The supported options are:
- SO_KEEPALIVE
- SO_DEBUG
- TCP_NODELAY
- SO_LINGER
- SO_OOBINLINE
- SO_SNDBUF
- SO_RCVBUF
- SO_REUSEADDR
Limitations and restrictions
Socket support in App Engine has the following limitations:
- You cannot create a listen socket; you can only create outbound sockets.
- FTP is not supported.
- You can only use TCP or UDP; arbitrary protocols are not allowed.
- You cannot bind to specific IP addresses or ports.
- Port 25 (SMTP) is blocked; you can still use authenticated SMTP on the submission port 587.
- Private, broadcast, multicast, and Google IP ranges are blocked, except those listed below: - Google Public DNS: 8.8.8.8,8.8.4.4,2001:4860:4860::8888,2001:4860:4860::8844port 53
- Gmail SMTPS: smtp.gmail.comport 465 and 587
- Gmail POP3S: pop.gmail.comport 995
- Gmail IMAPS: imap.gmail.comport 993
 
- Google Public DNS: 
- Socket descriptors are associated with the App Engine app that created them and are non-transferable (cannot be used by other apps). 
- Sockets may be reclaimed after 10 minutes of inactivity; any socket operation keeps the socket alive for a further 10 minutes. - Using sockets with the development server- You can run and test code using sockets on the development server, without using any special command line parameters.