package cms import ( "fmt" "git.rosy.net.cn/baseapi/utils" "net" "os" ) var ( textChan chan string ) func TestTemp() { server := "127.0.0.1:8000" tcpAddr, err := net.ResolveTCPAddr("tcp4", server) if err != nil { fmt.Fprintf(os.Stderr, "Fatal error: %s", err.Error()) os.Exit(1) } fmt.Println("tcpaddr", utils.Format4Output(tcpAddr, true)) conn, err := net.DialTCP("tcp", nil, tcpAddr) if err != nil { fmt.Println("Dial err:", err) return } textChan = make(chan string, 10) connHandler(conn) } func TestTemp2(data string) { textChan <- data } func connHandler(c net.Conn) { //接收终端输入 //reader := bufio.NewReader(os.Stdin) //缓冲 //buf := make([]byte, 1024) fmt.Println("Please input data...") go func() { for { //读取终端输入直到读取到\n //input, err := reader.ReadString('\n') //if err != nil { // fmt.Println("ReadString err:", err) // return //} s := <-textChan //写入数据 n, err := c.Write([]byte(s)) if err != nil { fmt.Println("Write err:", err, n) return } //服务器端返回的数据写入buf //cnt, err := c.Read(buf) //if err != nil { // fmt.Println("Read err:", err) // return //} //服务器端回传的信息 //fmt.Println("server response:", string(buf[0:cnt])) } }() }