API Sockets per servizi in bundle legacy


Il traffico proveniente dalle socket viene fatturato come larghezza di banda in uscita. App Engine supporta le socket in uscita che utilizzano metodi della libreria PHP standard, come fsockopen. Per le opzioni supportate, le chiamate a socket_get_option restituiranno un valore simulato e le chiamate a socket_set_option verranno ignorate silenziosamente. Continueranno a essere generati errori 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 delle socket in App Engine presenta le seguenti limitazioni:

  • Non puoi creare una socket di ascolto; puoi creare solo socket in uscita.
  • FTP non è supportato.
  • Puoi utilizzare solo TCP o UDP; i protocolli arbitrari non sono consentiti.
  • Non puoi eseguire il binding ad indirizzi IP o porte specifici.
  • La porta 25 (SMTP) è bloccata, ma puoi comunque utilizzare SMTP autenticato sulla porta di invio 587.
  • Gli intervalli IP privati, di trasmissione, multicast e di 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 di Gmail: smtp.gmail.com porta 465 e 587
    • Gmail POP3S: pop.gmail.com porta 995
    • IMAPS di Gmail: imap.gmail.com porta 993
  • I descrittori di socket sono associati all'app App Engine che li ha creati e non sono trasferibili (non possono essere utilizzati da altre app).

  • Le socket possono essere recuperate dopo 10 minuti di inattività; qualsiasi operazione sulla socket mantiene la socket attiva per altri 10 minuti.

    Utilizzo dei socket con il server di sviluppo

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