写一个golang 的tcp 最简单的 服务器
func ServerBase() {
listener, err := net.Listen("tcp", ":8888")
if err != nil {
log.Println("Error listening:", err.Error())
return
}
for {
conn, err := listener.Accept()
if err != nil {
log.Println("Error accepting:", err.Error())
return
}
//create a goroutine for each request.
go doServerStuff(conn)
}
}
前边主要是监听any网卡的端口,listener.Accept()是阻塞操作
func doServerStuff(conn net.Conn) {
defer conn.Close()
buf := make([]byte, 220)
length, err := conn.Read(buf)
conn.Write(buf)
}
就可以对buf进行处理了