




















tcp服务端:
package main import ( "fmt" "net" "time" ) func main() { listen, err := net.Listen("tcp", ":8081") if err != nil { return } fmt.Println("listen ok at port 8081") for { conn, err := listen.Accept() if err != nil { fmt.Println("accept err:", err) continue } // 使用goroutine处理每个连结, 避免堵塞 go func(c net.Conn) { defer c.Close() conn.Write([]byte("hello world")) time.Sleep(2 * time.Second) }(conn) } }
tcp客户端.go
package main import ( "fmt" "net" "time" ) func main() { con, err := net.Dial("tcp", "127.0.0.1:8081") if err != nil { return } defer func(con net.Conn) { err := con.Close() if err != nil { return } }(con) buff := make([]byte, 1024) n, err := con.Read(buff) if err != nil { return } fmt.Println(string(buff[:n])) time.Sleep(3 * time.Second) }
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。