Golang gRP C не может оставаться в живых: клиентское соединение закрывается - PullRequest
0 голосов
/ 18 июня 2020

Привет, я пытаюсь подключить клиент gRP C к серверу, но, несмотря на то, что соединение установлено успешно, я получаю следующую ошибку при запросе у преобразователей graphql. Однако, если я набираю номер напрямую с резолвера, все работает, так что это связано с тем, что клиент не оставляет соединение открытым.

rp c error: code = Cancelled des c = grp c: the клиентское соединение закрывается

клиент. go

var kacp = keepalive.ClientParameters{
    Time:                10 * time.Second, // send pings every 10 seconds if there is no activity
    Timeout:             time.Second,      // wait 1 second for ping back
    PermitWithoutStream: true,             // send pings even without active streams
}

func gqlHandler() http.HandlerFunc {

    conn, err := grpc.Dial("127.0.0.1:50051", grpc.WithInsecure(), 
    grpc.WithKeepaliveParams(kacp),
    grpc.WithBlock())

    if err != nil {
        panic(err)
    }
    defer conn.Close()

    db := proto.NewPlatformDBClient(conn)

    gh := handler.GraphQL(platform.NewExecutableSchema(platform.Config{Resolvers: &platform.Resolver{
        DB: db,
    }}))

    gh = cors.Disable(gh)

    return gh
}
...