تنفيذ GO من GRPC: إطار عمل عالي الأداء ، مفتوح المصدر ، العام RPC الذي يضع Mobile و HTTP/2 أولاً. لمزيد من المعلومات ، راجع مستندات GO GRPC ، أو تقفز مباشرة إلى البداية السريعة.
ما عليك سوى إضافة الاستيراد التالي إلى الكود الخاص بك ، ثم go [build|run|test] سيجلب تلقائيًا التبعيات اللازمة:
import "google.golang.org/grpc"ملاحظة: إذا كنت تحاول الوصول إلى
grpc-goمن الصين ، راجع الأسئلة الشائعة أدناه.
يمكن حظر مجال golang.org من بعض البلدان. go get عادةً ما ينتج خطأ مثل ما يلي عندما يحدث هذا:
$ 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)لبناء رمز GO ، هناك العديد من الخيارات:
قم بإعداد VPN والوصول إلى google.golang.org من خلال ذلك.
مع دعم وحدة GO: من الممكن استخدام ميزة replace go mod لإنشاء أسماء مستعارة لحزم Golang.org. في دليل مشروعك:
go mod edit -replace=google.golang.org/grpc=github.com/grpc/grpc-go@latest
go mod tidy
go mod vendor
go build -mod=vendorمرة أخرى ، يجب القيام بذلك لجميع التبعيات المتعدية المستضافة على golang.org أيضًا. للحصول على تفاصيل ، راجع العدد رقم 28652 إلى Golang/GO.
يرجى التحديث إلى أحدث إصدار من GRPC-GO باستخدام go get google.golang.org/grpc .
يتم التحكم في المسجل الافتراضي بواسطة متغيرات البيئة. قم بتشغيل كل شيء مثل هذا:
$ export GRPC_GO_LOG_VERBOSITY_LEVEL=99
$ export GRPC_GO_LOG_SEVERITY_LEVEL=info"code = Unavailable desc = transport is closing"هذا الخطأ يعني أن الاتصال الذي يستخدمه RPC تم إغلاقه ، وهناك العديد من الأسباب المحتملة ، بما في ذلك:
قد يكون من الصعب تصحيح هذا لأن الخطأ يحدث على جانب العميل ، لكن السبب الجذري للإغلاق هو على جانب الخادم. قم بتشغيل تسجيل الدخول إلى كل من العميل والخادم ، ومعرفة ما إذا كانت هناك أي أخطاء في النقل.