1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| package main
import ( "fmt" "net" )
func main() { fmt.Println("服务器开始监听...") listen, err := net.Listen("tcp", "localhost:8889")
if err != nil { fmt.Println("监听错误:", err) return } defer listen.Close() fmt.Println("listen地址:", listen.Addr())
for { conn, err := listen.Accept() if err != nil { fmt.Println("接收连接失败:", err) continue } else { fmt.Println("接收连接conn:", conn.RemoteAddr()) } go handleConn(conn) } }
func handleConn(conn net.Conn) { defer conn.Close() for { fmt.Println("等待客户端消息:") var bf = make([]byte, 1024) n, err := conn.Read(bf) if err != nil { fmt.Println("服务端读取数据失败:", err) return } fmt.Println("服务端接收数据:", string(bf[:n])) } }
|