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