diff --git a/eBook/examples/server.go b/eBook/examples/server.go new file mode 100644 index 0000000..39c32b0 --- /dev/null +++ b/eBook/examples/server.go @@ -0,0 +1,37 @@ +package main + +import ( + "fmt" + "net" +) + +func main() { + fmt.Println("Starting the server ...") + // 创建 listener + listener, err := net.Listen("tcp", "localhost:50000") + if err != nil { + fmt.Println("Error listening", err.Error()) + return //终止程序 + } + // 监听并接受来自客户端的连接 + for { + conn, err := listener.Accept() + if err != nil { + fmt.Println("Error accepting", err.Error()) + return // 终止程序 + } + go doServerStuff(conn) + } +} + +func doServerStuff(conn net.Conn) { + for { + buf := make([]byte, 512) + _, err := conn.Read(buf) + if err != nil { + fmt.Println("Error reading", err.Error()) + return //终止程序 + } + fmt.Printf("Received data: %v", string(buf)) + } +}