1.服务器
package main
import (
"fmt"
"net"
)
func main() {
//监听,指明协议,ip地址和端口号
listener, err := net.Listen("tcp", "127.0.0.1:8000")
if err != nil {
fmt.Println("err=", err)
return
}
defer listener.Close()
//阻塞,等待用户链接
conn, err1 := listener.Accept()
if err1 != nil {
fmt.Println("err1=", err1)
return
}
buf := make([]byte, 1024)//建立一个1k大小的缓冲区
//接受用户的请求,读取数据
n, err2 := conn.Read(buf)
if err2 != nil {
fmt.Println("err2=", err2)
return
}
fmt.Println("buf=", string(buf[:n]))//显示客户端发来的用户请求内容
defer conn.Close()//关闭当前的用户链接
}
2.客户端
package main
import (
"fmt"
"net"
)
func main() {
//自动连接服务器,指明协议,ip地址,端口号
conn, err := net.Dial("tcp", "127.0.0.1:8000")
if err != nil {
fmt.Println("err=", err)
return
}
defer conn.Close()
//发送数据
conn.Write([]byte("are u ok?"))
}