From 4f41f766fe70de02eec289731261aaade26a82ab Mon Sep 17 00:00:00 2001 From: suyl <770236076@qq.com> Date: Tue, 15 Jun 2021 16:36:09 +0800 Subject: [PATCH] aa --- business/jxstore/cms/temp.go | 49 ++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/business/jxstore/cms/temp.go b/business/jxstore/cms/temp.go index d5d17217a..08e7f2579 100644 --- a/business/jxstore/cms/temp.go +++ b/business/jxstore/cms/temp.go @@ -1,36 +1,37 @@ package cms import ( + "bufio" "fmt" - "io/ioutil" "net" - "net/http" - "time" + "os" + "strings" ) func TestTemp() { - var HTTPTransport = &http.Transport{ - DialContext: (&net.Dialer{ - Timeout: 30 * time.Second, // 连接超时时间 - KeepAlive: 60 * time.Second, // 保持长连接的时间 - }).DialContext, // 设置连接的参数 - MaxIdleConns: 500, // 最大空闲连接 - IdleConnTimeout: 60 * time.Second, // 空闲连接的超时时间 - ExpectContinueTimeout: 30 * time.Second, // 等待服务第一个响应的超时时间 - MaxIdleConnsPerHost: 100, // 每个host保持的空闲连接数 - } - uri := "http://print.jxcs.net:8000" - start2 := time.Now() - client2 := http.Client{Transport: HTTPTransport} // 初始化一个带有transport的http的client - req, err := http.NewRequest(http.MethodGet, uri, nil) + conn, err := net.Dial("tcp", "print.jxcs.net:8000") if err != nil { - panic("Http Req Failed " + err.Error()) + fmt.Println("client err=", err) + return } - resp, err := client2.Do(req) - if err != nil { - panic("Http Request Failed " + err.Error()) + defer conn.Close() // 关闭连接 + //客户端可以发送单行数据 + reader := bufio.NewReader(os.Stdin) + for { + input, err := reader.ReadString('\n') + if err != nil { + fmt.Println("readstring err=", err) + } + inputInfo := strings.Trim(input, "\r\n") + //fmt.Println(inputInfo) + if strings.ToUpper(inputInfo) == "Q" { // 如果输入q就退出 + return + } + + //将line发送给服务器 + _, err = conn.Write([]byte(inputInfo)) + if err != nil { + fmt.Println("conn.write err=", err) + } } - defer resp.Body.Close() - ioutil.ReadAll(resp.Body) // 如果不及时从请求中获取结果,此连接会占用,其他请求服务复用连接 - fmt.Println("Orig GoNet Long Link", time.Since(start2)) }