Traffic von Sockets wird als ausgehende Bandbreite abgerechnet. App Engine unterstützt ausgehende Sockets mit dem Paket
appengine/socket
.
Bibliotheken, die einen net.Conn
akzeptieren können, dürften ohne Änderungen funktionieren.
Limits und Einschränkungen
Die Socket-Unterstützung in App Engine unterliegt den folgenden Einschränkungen:
- Sie können keinen Socket erstellen, der auf eingehende Verbindungen wartet; nur ausgehende Sockets können erstellt werden.
- FTP wird nicht unterstützt.
- Sie können nur TCP oder UDP verwenden. Beliebige Protokolle sind nicht erlaubt.
- Sie können Sockets nicht an bestimmte IP-Adressen oder Ports binden.
- Port 25 (SMTP) ist blockiert; Sie können weiterhin authentifiziertes SMTP auf dem Übermittlungsport 587 verwenden.
Private, Broadcast-, Multicast- und Google-IP-Bereiche (mit Ausnahme der unten aufgelisteten) sind blockiert:
- Google Public DNS:
8.8.8.8
,8.8.4.4
,2001:4860:4860::8888
,2001:4860:4860::8844
Port 53 - Gmail SMTPS:
smtp.gmail.com
Port 465 und 587 - Gmail POP3S:
pop.gmail.com
Port 995 - Gmail IMAPS:
imap.gmail.com
Port 993
- Google Public DNS:
Socket-Deskriptoren sind der App Engine-Anwendung zugeordnet, mit der sie erstellt wurden, und nicht übertragbar. Sie können also nicht von anderen Anwendungen genutzt werden.
Sockets können nach zehn Minuten Inaktivität zurückgewonnen werden. Jeder Socket-Vorgang hält den Socket für weitere zehn Minuten aktiv.
Sockets mit dem Entwicklungsserver verwenden
Sie können Code mithilfe von Sockets auf dem Entwicklungsserver ausführen und testen, ohne spezielle Befehlszeilenparameter zu verwenden.