package main import ( "net" "fmt" "time" "bytes" "io" ) func main() { add:=new(net.TCPAddr) add.IP= net.ParseIP("127.0.0.1") add.Port=7777 tcpl,err:=net.ListenTCP("tcp", add) if err != nil { fmt.Println(err) } for{ conn,err:=tcpl.Accept() if err != nil { fmt.Println(err) } handleClient(conn) } } func handleClient(conn net.Conn) { defer conn.Close() var buf bytes.Buffer _, err := io.Copy(&buf, conn) if err != nil { fmt.Println("读取错误") } fmt.Println(string(buf.Bytes())) data:=buf.Bytes() fmt.Println(len(data)) if len(data)==0 { daytime := time.Now().String() //不需要关心返回值 conn.Write([]byte(daytime)) }else{ //不需要关心返回值 conn.Write([]byte(string(buf.Bytes()))) } }
package main import ( "net" "bytes" "io" "fmt" ) func main() { add:=new(net.TCPAddr) add.IP= net.ParseIP("127.0.0.1") add.Port=7777 conn,err:=net.DialTCP("tcp",nil,add) if err!=nil{ fmt.Println(err) } //conn.Write([]byte("hello")) conn.CloseWrite() var buf bytes.Buffer _, err = io.Copy(&buf, conn) fmt.Println(string(buf.Bytes())) }
查看更多关于go 的入门之路 Socket 编程的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did31946