diff --git a/main.go b/main.go index 8dfeea279..8dd88d681 100644 --- a/main.go +++ b/main.go @@ -1,6 +1,7 @@ package main import ( + "bufio" "flag" "fmt" "io" @@ -171,10 +172,10 @@ func handleConn(c net.Conn) { return } defer c.Close() - //reader := bufio.NewReader(c) - buffer := make([]byte, 1024) + reader := bufio.NewReader(c) for { - n, err := c.Read(buffer) + //ReadString阻塞,直到读到\n + msg, err := reader.ReadString('\n') if err != nil { if err == io.EOF { fmt.Println("connection close") @@ -183,8 +184,32 @@ func handleConn(c net.Conn) { } return } - fmt.Println("read data:", buffer[:n]) + fmt.Println("read data:", msg) b := []byte("ok") c.Write(b) } } + +//func handleConn(c net.Conn) { +// if c == nil { +// fmt.Println("conn is nil") +// return +// } +// defer c.Close() +// //reader := bufio.NewReader(c) +// buffer := make([]byte, 1024) +// for { +// n, err := c.Read(buffer) +// if err != nil { +// if err == io.EOF { +// fmt.Println("connection close") +// } else { +// fmt.Println("ReadString err", err) +// } +// return +// } +// fmt.Println("read data:", buffer[:n]) +// b := []byte("ok") +// c.Write(b) +// } +//}