第一个go语言的网络程序,分为服务器端和客户端
来源:http://blog.csdn.net/dux003/article/details/5486898
//服务端
package main import ( "net" "os" ) func serve(s net.Conn) { var buf [1024]byte for { n, err := s.Read(&buf) if err != nil || n == 0 { break; } s.Write(buf[0:n]) } } func main() { l, e := net.Listen("tcp", ":12345") if e != nil { os.Exit(-1) } for { s, e := l.Accept() if e != nil { os.Exit(-1) } go serve(s) } }
//客户端
package main import ( "net" "os" ) func main() { s, err := net.Dial("tcp", "", "192.168.1.168:12345") if err != nil { os.Exit(-1) } for { var buf [1024]byte n, err := os.Stdin.Read(&buf) if err != nil || n == 0 { os.Exit(-1) } s.Write(buf[0:n]) n, err = s.Read(&buf) if err != nil || n == 0 { os.Exit(-1) } os.Stdin.Write(buf[0:n]) } }