gpt4 book ai didi

ssl - 为什么 grpc 服务器示例使用 net.Listen 而不是 tls.Listen

转载 作者:数据小太阳 更新时间:2023-10-29 03:39:09 27 4
gpt4 key购买 nike

<分区>

我正在设置一个将使用 TLS 进行客户端授权/身份验证的 golang grpc 服务器。我见过的所有服务器设置示例都使用 net.Listen() 而不是 tls.Listen()。这是为什么?

import (
"crypto/tls"
"github.com/pkg/errors"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
"net"
)

func startGRPCListener(hostport string, tlsconfig *tls.Config) (grpcServer *grpc.Server) {
listener, _ = net.Listen("tcp", hostport)
cred := grpc.Creds(credentials.NewTLS(tlsconfig))
grpcServer := grpc.NewServer(cred)
go func() {
serveErr := grpcServer.Serve(listener)
log.WithError(serveErr).Info("GRPC server exited")
}()

return
}

我在几个工作示例中注意到,如果我切换到 tls.Listen,则无法再建立连接。但是,在其他情况下,这不会造成问题!

我想我的问题是“我应该使用 net.Listen 还是 tls.Listen,还是它们没有什么区别?”

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com