Como a versão 5.5 do PHP não é mais compatível com a comunidade, recomendamos que novos aplicativos usem o ambiente de execução do PHP 7.

Visão geral da API Sockets para PHP 5


O tráfego de soquetes é faturado como largura de banda de saída. O App Engine é compatível com soquetes de saída por meio dos métodos da biblioteca PHP padrão, como fsockopen. Para as opções compatíveis, as chamadas para socket_get_option retornarão um valor de simulação, e as chamadas para socket_set_option serão silenciosamente ignoradas. Os erros continuarão sendo gerados para as opções não aceitas. Veja a seguir as opções aceitas:

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

Limitações e restrições

A compatibilidade de soquetes com o App Engine tem as seguintes limitações:

  • Não é possível criar um soquete de escuta. Você só pode criar soquetes de saída.
  • O FTP não é compatível.
  • Só é possível usar TCP ou UDP. Não são permitidos protocolos arbitrários.
  • Não é possível se vincular a portas ou endereços IP específicos.
  • A porta 25 (SMTP) está bloqueada. Ainda é possível usar SMTP autenticado na porta de envio 587.
  • Os intervalos de IP particulares, de transmissão, multicast e do Google são bloqueados, exceto os listados abaixo:

    • DNS público do Google: 8.8.8.8, 8.8.4.4, 2001:4860:4860::8888, 2001:4860:4860::8844 porta 53
    • SMTPS do Gmail: smtp.gmail.com portas 465 e 587
    • POP3S do Gmail: pop.gmail.com porta 995
    • IMAPS do Gmail: imap.gmail.com porta 993
  • Os descritores de soquete estão associados ao app do App Engine que os criou e não são transferíveis, ou seja, não podem ser usados por outros aplicativos.

  • Os soquetes poderão ser recuperados depois de dois minutos de inatividade. Qualquer operação de soquete mantém o soquete ativo por mais dois minutos.

    Como usar soquetes com o servidor de desenvolvimento

    É possível executar e testar código usando soquetes no servidor de desenvolvimento, sem empregar parâmetros de linha de comando especiais.