我在 go 中使用 *ipconn.Write 方法發(fā)送一些數(shù)據(jù),但似乎 *ipconn.Read() 一次只能讀取 20 個(gè)字節(jié)這是服務(wù)器發(fā)送數(shù)據(jù)ln, err := net.Listen("tcp", "localhost:8888")conn, err := ln.Accept()tmp := make([]byte,10000)tmp = []byte("abcdefghijklmnopqrstuvwxyz")conn.Write(tmp)這里是客戶端接收數(shù)據(jù)conn, err := net.Dial("tcp", "localhost:8888")data := make([]byte, 100000)conn.Read(data)fmt.Println(string(data)) // prints only first 20 chars如果我再次調(diào)用 conn.Read(data) 我會(huì)得到另外 20 個(gè)字符有沒有辦法讀取所有數(shù)據(jù)或循環(huán)直到連接關(guān)閉?
1 回答

互換的青春
TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
ioutil.ReadAll將從tcp流中讀取所有數(shù)據(jù)。請小心,因?yàn)樵谶B接關(guān)閉之前它不會(huì)返回。
- 1 回答
- 0 關(guān)注
- 188 瀏覽
添加回答
舉報(bào)
0/150
提交
取消