{"id":22201834,"url":"https://github.com/rchanger/go-grpc","last_synced_at":"2026-05-18T02:34:38.371Z","repository":{"id":113186332,"uuid":"255634284","full_name":"Rchanger/Go-gRPC","owner":"Rchanger","description":"Small demonstration of working with grpc in golang","archived":false,"fork":false,"pushed_at":"2020-05-05T06:58:54.000Z","size":29,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-03-05T17:17:10.350Z","etag":null,"topics":["go-grpc","golang","grpc","proto"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Rchanger.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-14T14:35:31.000Z","updated_at":"2024-06-19T09:14:46.983Z","dependencies_parsed_at":null,"dependency_job_id":"610f3d90-9b6d-4859-afed-ca8590923076","html_url":"https://github.com/Rchanger/Go-gRPC","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rchanger%2FGo-gRPC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rchanger%2FGo-gRPC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rchanger%2FGo-gRPC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Rchanger%2FGo-gRPC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Rchanger","download_url":"https://codeload.github.com/Rchanger/Go-gRPC/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245377955,"owners_count":20605375,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["go-grpc","golang","grpc","proto"],"created_at":"2024-12-02T16:11:03.398Z","updated_at":"2026-05-18T02:34:33.351Z","avatar_url":"https://github.com/Rchanger.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Go-gRPC\nThis is simple demonstration of how grpc is to be used with golang.\n\n## Setting up the environment required for grpc.\n1. Download and install protoc form below link:\n  ~~~ \n  https://github.com/protocolbuffers/protobuf/releases\n  ~~~\n2. Next, install Go support for Google’s protocol buffers and grpc:\n  ~~~\n  go get -u github.com/golang/protobuf/protoc-gen-go\n  go install github.com/golang/protobuf/protoc-gen-go\n  go get google.golang.org/grpc\n  ~~~\n\n## Running Demo examples.\n1. Unary gRPC is explained with example of addition and subtraction example.You will find the example inside __SimpleGRPC__ directory.\nFor simple/unary grpc sample.pb.go file is generated by executing following command:\n ~~~ \n protoc -I SimpleGRPC/ProtoDir/ ./SimpleGRPC/ProtoDir/sample.proto --go_out=plugins=grpc:SimpleGRPC/ProtoDir/ \n ~~~ \n\n2. Server Side Streaming type of grpc is explained with the help of small example of finding Divisors of number.It is present under __ServerSideStreaming__ directory.\nFor server side streaming grpc serverStreamingProto.pb.go file is generated by executing following command:\n ~~~\nprotoc -I ServerSideStreaming/ServerSideStreamingProto/ ./ServerSideStreaming/ServerSideStreamingProto/serverStreamingProto.proto --go_out=plugins=grpc:ServerSideStreaming/ServerSideStreamingProto/\n ~~~\n\n3. Client Side Streaming type of grpc is explained with the help of small example of finding max number from stream of number.The example is present under __ClientSideStramingGRPC__ directory.\nFor client side streaming grpc clientstraming.pb.go file is generated by executing following command:\n ~~~\n protoc -I ClientSideStramingGRPC/ClientSideStramingProto/ ./ClientSideStramingGRPC/ClientSideStramingProto/clientstraming.proto --go_out=plugins=grpc:ClientSideStramingGRPC/ClientSideStramingProto/ \n ~~~ \n\n4. Bidirectional Streaming type of grpc is explained with the help of small example of finding max number from stream of number.The example is present under __BiDirectionGRPC__ directory.\nFor bidirectional streaming grpc bidirctionalProto.pb.go file is generated by executing following command:\n ~~~\n protoc -I BiDirectionGRPC/BiDirProto/  ./BiDirectionGRPC/BiDirProto/bidirctionalProto.proto --go_out=plugins=grpc:BiDirectionGRPC/BiDirProto/\n ~~~\n\u003cbr/\u003e\n \n#### Small Presentation on grpc: https://drive.google.com/open?id=1_-zI9DtOOa-LYHC79Bdi8YYlIDMt46KISFh35wvaZxI\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frchanger%2Fgo-grpc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frchanger%2Fgo-grpc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frchanger%2Fgo-grpc/lists"}