Nan*_*iao 19 network-programming go
在C编程中,当我想通过网络发送整数时,我们需要使用htonl()或htons()在发送之前将整数从主机字节顺序转换为网络字节顺序.
但是在golang中,我检查了网络包,并且找不到像htons/htonl这样的类似函数.那么在使用golang时我应该如何发送整数?我需要自己实现htons/htonl吗?
Jam*_*dge 24
网络字节顺序只是大端,因此您可以使用该encoding/binary包执行编码.
例如:
data := make([]byte, 6)
binary.BigEndian.PutUint16(data, 0x1011)
binary.BigEndian.PutUint32(data[2:6], 0x12131415)
Run Code Online (Sandbox Code Playgroud)
或者,如果您正在写入io.Writer,则binary.Write()来自同一包的函数可能更方便(同样,使用binary.BigEndian值作为order参数).
| 归档时间: |
|
| 查看次数: |
6725 次 |
| 最近记录: |