Golang服务端
package main import ( "log" "net/http" "time" ) var ( Addr = ":8080" ) func main() { // 创建路由器 mux := http.NewServeMux() // 设置路由规则 mux.HandleFunc("/hello", hello) // 创建服务器 server := &http.Server{ Addr: Addr, WriteTimeout: time.Second * 3, //超时时间 Handler: mux, //路由规则 } // 监听端口并提供服务 log.Println("Starting httpserver at " + Addr) log.Fatal(server.ListenAndServe()) } func hello(w http.ResponseWriter, r *http.Request) { time.Sleep(1 * time.Second) w.Write([]byte("bye bye ,this is httpServer")) }
Golang 客户端 也就是http get请求
package main import ( "fmt" "io/ioutil" "net" "net/http" "time" ) func main() { // 创建连接池 transport := &http.Transport{ DialContext: (&net.Dialer{ Timeout: 30 * time.Second, //连接超时 KeepAlive: 30 * time.Second, //探活时间 }).DialContext, MaxIdleConns: 100, //最大空闲连接 IdleConnTimeout: 90 * time.Second, //空闲超时时间 TLSHandshakeTimeout: 10 * time.Second, //tls握手超时时间 ExpectContinueTimeout: 1 * time.Second, //100-continue状态码超时时间 } // 创建客户端 client := &http.Client{ Timeout: time.Second * 30, //请求超时时间 Transport: transport, } // 请求数据 resp, err := client.Get("http://127.0.0.1:8080/hello") if err != nil { panic(err) } defer resp.Body.Close() // 读取内容 bds, err := ioutil.ReadAll(resp.Body) if err != nil { panic(err) } fmt.Println(string(bds)) }
程序员,产品
8.6
PHP Go 前端
JwCode
渐悟分享