66 lines
1.3 KiB
Go
66 lines
1.3 KiB
Go
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
|
|
}
|
|
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]))
|
|
}
|
|
}()
|
|
}
|