1234567891011121314151617181920212223242526272829 |
- package datacenter
- import (
- "context"
- "google.golang.org/grpc"
- "google.golang.org/grpc/credentials/insecure"
- "log"
- datacenterPb "metawant.greentech.com.cn/gaoyagang/gt-common/rpc_client/datacenter/pb"
- "time"
- )
- // 创建一个v1版本的数据中心rpc调用实例
- func CreateDcRpcClient(ipPort string, timeOutSecond int) datacenterPb.OrganizationClient {
- var conn *grpc.ClientConn
- var err error
- if timeOutSecond == 0 {
- // 此时即使连接不上,也不会返回超时或连接拒绝的err
- conn, err = grpc.DialContext(context.Background(), ipPort, grpc.WithTransportCredentials(insecure.NewCredentials()))
- } else {
- // 此处连接超时的话会报错
- cont, _ := context.WithTimeout(context.Background(), 5*time.Second)
- conn, err = grpc.DialContext(cont, ipPort, grpc.WithTransportCredentials(insecure.NewCredentials()), grpc.WithBlock())
- }
- if err != nil {
- log.Fatalf("CreateDcRpcClient did not connect: %v", err)
- }
- client := datacenterPb.NewOrganizationClient(conn)
- return client
- }
|