本文看着这个链接去学的
https://libevent.org/libevent-book/
windows上使用socket通信时需要先用到,具体干了啥我也不知道,但是需要这一步- #ifdef _WIN32
- // 存储使用winsock时初始化需要的数据
- WSADATA wsa_data;
- // 调用WSAStartup需要传入Winsock 版本号。
- WSAStartup(0x0201, &wsa_data);
- #endif
复制代码 再创建一个专门表示 IPv4 地址和端口号 的结构体变量,htons的作用是将 主机字节序的端口号 40713 转换为 网络字节序(大端序)- struct sockaddr_in sin;
- sin.sin_port = htons(40713);
复制代码 什么是高位字节和低位字节?
举个例子:
假设我们有一个 16 位(2 字节)的整数 0x1234:
- 0x12 是 高位字节(High Byte)
- 0x34 是 低位字节(Low Byte)
就是按照“从左到右”的方式,高字节在前,低字节在后。
大端序(Big-Endian)
- 高位字节存在低地址(先存高位)
- 人类阅读习惯一样,符合我们写数字的顺序
int x = 0x12345678;
内存中顺序(从小地址到大地址):
地址: 0 1 2 3
数据: 0x12 0x34 0x56 0x78
小端序(Little-Endian)
低位字节存在低地址(先存低位)
是 x86 等 CPU 的默认字节序
int x = 0x12345678;
内存中顺序(从小地址到大地址):
地址: 0 1 2 3
数据: 0x78 0x56 0x34 0x12
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |