找回密码
 立即注册
首页 资源区 代码 0.libevent学习笔记,从阻塞式socket开始

0.libevent学习笔记,从阻塞式socket开始

蟠鲤 4 天前
本文看着这个链接去学的
https://libevent.org/libevent-book/
windows上使用socket通信时需要先用到,具体干了啥我也不知道,但是需要这一步
  1. #ifdef _WIN32
  2.         // 存储使用winsock时初始化需要的数据
  3.         WSADATA wsa_data;
  4.         // 调用WSAStartup需要传入Winsock 版本号。
  5.         WSAStartup(0x0201, &wsa_data);
  6. #endif
复制代码
再创建一个专门表示 IPv4 地址和端口号 的结构体变量,htons的作用是将 主机字节序的端口号 40713 转换为 网络字节序(大端序)
  1. struct sockaddr_in sin;
  2. 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

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册