package main import ( "bufio" "fmt" "log" "net" "os" ) func main() { conn, err := net.Dial("tcp", "127.0.0.1:8888") if err != nil { log.Fatalf("无法连接服务器: %v", err) } defer conn.Close() fmt.Println("已连接到服务器 127.0.0.1:8888") // 启动协程接收服务器消息 go func() { buf := make([]byte, 1024) for { n, err := conn.Read(buf) if err != nil { log.Printf("读取服务器消息错误: %v", err) os.Exit(0) } fmt.Printf("服务器消息: %s\n", string(buf[:n])) } }() // 从命令行读取输入并发送给服务器 scanner := bufio.NewScanner(os.Stdin) for { fmt.Print("请输入消息: ") if !scanner.Scan() { break } text := scanner.Text() if text == "exit" { fmt.Println("退出客户端") break } _, err := conn.Write([]byte(text)) if err != nil { log.Printf("发送消息失败: %v", err) break } } }