8 Star 35 Fork 14

Cliven/gotlcp

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
client.go 1.39 KB
一键复制 编辑 原始数据 按行查看 历史
Cliven 提交于 2022-08-09 23:22 . 完成了初期设计的所有文档内容
package https
import (
"context"
"gitee.com/Trisia/gotlcp/tlcp"
"net"
"net/http"
"time"
)
// NewHTTPSClient 创建TLCP HTTPS客户端
//
// config: TLCP配置参数,不能为空。
//
// TCP连接拨号默认 30秒超时,如你需要设置TCP 各项超时时间请使用 NewHTTPSClientDialer 方法
// TLCP握手超时为 30秒,您可以转换 http.Client.Transport为 *http.Transport 手动设置时间
func NewHTTPSClient(config *tlcp.Config) *http.Client {
if config == nil {
return nil
}
dialer := &net.Dialer{
Timeout: 30 * time.Second,
KeepAlive: 60 * time.Second,
}
return NewHTTPSClientDialer(dialer, config)
}
// NewHTTPSClientDialer 创建TLCP HTTPS客户端
//
// dialer: 可靠连接的拨号器,可以用于自定义连接超时时间等参数。
// config: TLCP配置参数,不能为空。
// TLCP握手超时为 30秒,您可以转换 http.Client.Transport为 *http.Transport 手动设置时间
func NewHTTPSClientDialer(dialer *net.Dialer, config *tlcp.Config) *http.Client {
if config == nil || dialer == nil {
return nil
}
return &http.Client{
Transport: &http.Transport{
DialTLSContext: func(ctx context.Context, network, addr string) (net.Conn, error) {
dialer := tlcp.Dialer{NetDialer: dialer, Config: config}
return dialer.DialContext(ctx, network, addr)
},
TLSHandshakeTimeout: 30 * time.Second,
IdleConnTimeout: 30 * time.Second,
},
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/Trisia/gotlcp.git
git@gitee.com:Trisia/gotlcp.git
Trisia
gotlcp
gotlcp
v1.2.1

搜索帮助