我在go中使用* ipconn.Write方法发送了一些数据,但看来* ipconn.Read()一次只能读取20个字节
这是服务器发送数据
ln, err := net.Listen("tcp", "localhost:8888")
conn, err := ln.Accept()
tmp := make([]byte,10000)
tmp = []byte("abcdefghijklmnopqrstuvwxyz")
conn.Write(tmp)
这是接收数据的客户端
conn, err := net.Dial("tcp", "localhost:8888")
data := make([]byte, 100000)
conn.Read(data)
fmt.Println(string(data)) // prints only first 20 chars
如果我再次调用conn.Read(data),我又得到20个字符
在关闭连接之前,有什么方法可以读取所有数据或循环吗?
答案 0 :(得分:0)
ioutil.ReadAll将读取tcp流中的所有数据。请小心,因为在关闭连接之前它不会返回。