我正在嘗試通過(guò) golang 中的 TCP 發(fā)送 int64,但是,我的接收器打印的數(shù)字與我發(fā)送的數(shù)字不同。完成此操作的正確方法是什么?//Buffer on both client and serverbuffer := make([]byte, 1024)//SenderfileInfo, error := os.Stat(fileName)if error != nil { fmt.Println("Error opening file")}var fSize int = int(fileInfo.Size())connection.Write([]byte(string(fSize)))//Receiverconnection.Read(buffer)fileSize := new(big.Int).SetBytes(bytes.Trim(buffer, "\x00")).Int64()if err != nil { fmt.Println("not a valid filesize") fileSize = 0}
3 回答

天涯盡頭無(wú)女友
TA貢獻(xiàn)1831條經(jīng)驗(yàn) 獲得超9個(gè)贊
您不能使用 string() 從 int 進(jìn)行轉(zhuǎn)換,您需要使用strconv包。
connection.Write([]byte(strconv.FormatInt(fileInfo.Size(), 10))
- 3 回答
- 0 關(guān)注
- 266 瀏覽
添加回答
舉報(bào)
0/150
提交
取消