Il traffico proveniente dalle socket viene fatturato come larghezza di banda in uscita. App Engine supporta le socket in uscita tramite il pacchetto
appengine/socket
.
Le librerie che possono accettare un net.Conn
dovrebbero funzionare senza modifiche.
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
- Google Public DNS:
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.