Die GO -Implementierung von GRPC: Eine hohe Leistung, Open Source, General RPC -Framework, das zuerst Mobile und HTTP/2 setzt. Weitere Informationen finden Sie in den GO -GRPC -Dokumenten oder direkt in den schnellen Start.
Fügen Sie einfach den folgenden Import zu Ihrem Code hinzu und go [build|run|test] dann die erforderlichen Abhängigkeiten automatisch ab:
import "google.golang.org/grpc"Hinweis: Wenn Sie versuchen, aus China auf
grpc-gozugreifen zu können, finden Sie in den FAQ unten.
Die golang.org -Domäne kann aus einigen Ländern blockiert werden. go get in der Regel einen Fehler wie das folgende, wenn dies geschieht:
$ go get -u google.golang.org/grpc
package google.golang.org/grpc: unrecognized import path "google.golang.org/grpc" (https fetch: Get https://google.golang.org/grpc?go-get=1: dial tcp 216.239.37.1:443: i/o timeout)Um Go -Code zu erstellen, gibt es mehrere Optionen:
Richten Sie ein VPN ein und greifen Sie dadurch auf Google.golang.org zu.
Mit dem Go -Modulunterstützung: Es ist möglich, die replace von go mod zu verwenden, um Aliase für golang.org -Pakete zu erstellen. Im Verzeichnis Ihres Projekts:
go mod edit -replace=google.golang.org/grpc=github.com/grpc/grpc-go@latest
go mod tidy
go mod vendor
go build -mod=vendorAuch dies muss für alle transitiven Abhängigkeiten erfolgen, die auch auf golang.org gehostet werden. Einzelheiten finden Sie in Golang/Go Ausgabe Nr. 28652.
Bitte aktualisieren Sie die neueste Version von GRPC-GO mit go get google.golang.org/grpc .
Der Standardprotokoll wird durch Umgebungsvariablen gesteuert. Schalten Sie alles so ein:
$ export GRPC_GO_LOG_VERBOSITY_LEVEL=99
$ export GRPC_GO_LOG_SEVERITY_LEVEL=info"code = Unavailable desc = transport is closing"Dieser Fehler bedeutet, dass die Verbindung, die der RPC verwendet, geschlossen wurde, und es gibt viele mögliche Gründe, darunter:
Es kann schwierig sein, dies zu debuggen, da der Fehler auf der Clientseite auftritt, aber die Hauptursache, dass die Verbindung geschlossen wird, ist auf der Serverseite. Schalten Sie sowohl Client als auch Server an, um zu prüfen, ob Transportfehler vorliegen.