用go语言实现简单的客户端/服务器模型
程序员文章站
2022-05-08 23:51:07
...
1.模拟客户端与服务器的通信过程
2.仅能实现客户端与服务器的一次通讯
服务器实现代码
package main
import (
"fmt"
"net"
)
func main(){
//监听
listener,err := net.Listen("tcp","127.0.0.1:8000")
if err != nil{
fmt.Println("err:",err)
return
}
defer listener.Close()
//阻塞等待用户连接
conn,err := listener.Accept()
if err != nil{
fmt.Println("err:",err)
return
}
//接受用户的请求
buf := make([]byte,1024)
n , err1 := conn.Read(buf)
if err1 != nil{
fmt.Println("err1:",err1)
return
}
fmt.Println("buf:",string(buf[:n]))
//关闭当前用户连接
defer conn.Close()
}
客户端实现代码
package main
import (
"fmt"
"net"
)
func main(){
//自动连接服务器
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 you ok"))
}