【发布时间】:2021-02-20 20:45:41
【问题描述】:
我正在尝试在 Go 应用程序中同时启动 http 和 gRPC 服务。但令我惊讶的是,只有 http server 或 gRPC server 可以启动。
func main() {
xxhh.Test1()
xxhh.Test2()
app := fiber.New()
app.Get("/", func(c *fiber.Ctx) error {
return c.SendString("Hello, World ????!")
})
app.Listen(":3000")
lis, err := net.Listen("tcp", port)
if err != nil {
log.Fatalf("failed to listen: %v", err)
}
s := grpc.NewServer()
pb.RegisterBookstoreServer(s, &server{})
if err := s.Serve(lis); err != nil {
log.Fatalf("failed to start grpc serve: %v", err)
}
}
而且我还发现,如果我把http部分放在最前面,那么http可以启动,而gRPC不能。 反之亦然
【问题讨论】: