d := make([]byte, 4096)conn.Read(d)我創建了一個固定數組來從套接字獲取數據。但我想以靈活的大小而不是固定的大小獲取數據。原因是我需要解組從套接字接收到的數據,但是數據的大小是固定的,所以調用解組函數將不起作用。所以我想問的是如何從socket中獲取靈活大小的數據或者如何刪除固定大小的空值。ex)data := make([]byte, 4096)conn.Read(data)fmt.Println(len(data)) ===> 105 (Actual data length)ordata([4, 128, 16, 8, 7, 0, 0, 0, 0, 7, 9, 128, 0...])↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓data([4, 128, 16, 8, 7, 0, 0, 0, 0, 7, 9, 128])
1 回答

慕工程0101907
TA貢獻1887條經驗 獲得超5個贊
例如,
data := make([]byte, 0, 4096)
n, err := conn.Read(data[:cap(data)])
data = data[:n]
if err != nil {
// handle error
}
fmt.Println(len(data))
- 1 回答
- 0 關注
- 135 瀏覽
添加回答
舉報
0/150
提交
取消