API Sockets per servizi in bundle legacy


Il traffico proveniente dai socket viene fatturato come larghezza di banda in uscita. App Engine supporta i socket in uscita utilizzando i metodi della libreria PHP standard, come fsockopen. Per le opzioni supportate, le chiamate al numero socket_get_option restituiranno un valore fittizio e le chiamate al numero socket_set_option verranno ignorate automaticamente. Gli errori continueranno a essere visualizzati per le opzioni non supportate. Le opzioni supportate sono:

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

Limitazioni e restrizioni

Il supporto dei socket in App Engine presenta le seguenti limitazioni:

  • Non puoi creare un socket di ascolto; puoi solo creare socket in uscita.
  • FTP non è supportato.
  • Puoi utilizzare solo TCP o UDP; non sono consentiti protocolli arbitrari.
  • Non puoi eseguire l'associazione a porte o indirizzi IP specifici.
  • La porta 25 (SMTP) è bloccata; puoi comunque utilizzare SMTP autenticato sulla porta di invio 587.
  • Gli intervalli di indirizzi IP privati, broadcast, multicast e Google sono bloccati, ad eccezione di quelli elencati di seguito:

    • Google Public DNS: 8.8.8.8, 8.8.4.4, 2001:4860:4860::8888, 2001:4860:4860::8844 porta 53
    • SMTPS Gmail: smtp.gmail.com porte 465 e 587
    • POP3S di Gmail: pop.gmail.com porta 995
    • IMAPS Gmail: imap.gmail.com porta 993
  • I descrittori socket sono associati all'app App Engine che li ha creati e non sono trasferibili (non possono essere utilizzati da altre app).

  • I socket possono essere recuperati dopo 10 minuti di inattività; qualsiasi operazione dei socket mantiene il socket attivo per altri 10 minuti.

    Utilizzo dei socket con il server di sviluppo

    Puoi eseguire e testare il codice utilizzando i socket sul server di sviluppo, senza utilizzare parametri della riga di comando speciali.