<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ## 目錄 ``` ├── base │ └── struct.go ├── client.go ├── pr │ └── helloword.proto └── server.go ``` <details> <summary>base/struct.go </summary> ``` package base import ( "context" "grpc/demo/pr" ) type Server struct{} func (s *Server) SayHello(ctx context.Context, in *pr.HelloRequest) (*pr.HelloReply, error) { return &pr.HelloReply{Message: "Hello " + in.Name}, nil } ``` </details> <br/> <details> <summary>client.go </summary> ``` package main import ( "context" "grpc/demo/pr" "log" "google.golang.org/grpc" ) const ( address = "127.0.0.1:50051" ) var input =make(chan string ) func main() { // Set up a connection to the server. conn, err := grpc.Dial(address,grpc.WithInsecure()) if err != nil { log.Fatalf("did not connect: %v", err) } defer conn.Close() c := pr.NewGreeterClient(conn) r, err := c.SayHello(context.Background(), &pr.HelloRequest{Name:"cc"}) if err != nil { log.Fatalf("could not greet: %v", err) } log.Printf("Greeting: %s", r.Message) } ``` </details> <br/> <details> <summary>server.go</summary> ``` package main import ( "grpc/demo/base" "grpc/demo/pr" "log" "net" "google.golang.org/grpc" ) const ( port = ":50051" ) func main() { lis, err := net.Listen("tcp", port) if err != nil { log.Fatalf("failed to listen: %v", err) } s := grpc.NewServer() pr.RegisterGreeterServer(s, &base.Server{}) err = s.Serve(lis) if err != nil { log.Printf("%v",err) } } ``` </details> <br/> <details> <summary>server.go</summary> ``` package main import ( "grpc/demo/base" "grpc/demo/pr" "log" "net" "google.golang.org/grpc" ) const ( port = ":50051" ) func main() { lis, err := net.Listen("tcp", port) if err != nil { log.Fatalf("failed to listen: %v", err) } s := grpc.NewServer() pr.RegisterGreeterServer(s, &base.Server{}) err = s.Serve(lis) if err != nil { log.Printf("%v",err) } } ``` </details> <br/> ## proto 轉go ``` go mod grpc/demo cd pr protoc --go_out=plugins=grpc:. helloword.proto cd ../ go run server.go go run client.go ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看