windows下字節序和網絡的相反
func readInt32(conn net.Conn) int32 {
num_byte := make([]byte, 4)
conn.Read(num_byte)
var value int32 = 0
// //windows
// byte2 := num_byte[2]
// byte3 := num_byte[3]
// num_byte[3] = num_byte[0]
// num_byte[0] = byte3
// num_byte[2] = num_byte[1]
// num_byte[1] = byte2
// //windows
//windows
num_byte[0],num_byte[1],num_byte[2],num_byte[3] = num_byte[3],num_byte[2],num_byte[1],num_byte[0]
for i := 0; i < 4; i++ {
shift := uint32((4 - 1 - i) * 8)
value = value + (int32(num_byte[i])&0x000000FF)<<shift
}
return value
}
num_byte := make([]byte, 4)
conn.Read(num_byte)
var value int32 = 0
// //windows
// byte2 := num_byte[2]
// byte3 := num_byte[3]
// num_byte[3] = num_byte[0]
// num_byte[0] = byte3
// num_byte[2] = num_byte[1]
// num_byte[1] = byte2
// //windows
//windows
num_byte[0],num_byte[1],num_byte[2],num_byte[3] = num_byte[3],num_byte[2],num_byte[1],num_byte[0]
for i := 0; i < 4; i++ {
shift := uint32((4 - 1 - i) * 8)
value = value + (int32(num_byte[i])&0x000000FF)<<shift
}
return value
}