winsock chapter6 - 地址家族和名字解析

chapter6 - 地址家族和名字解析

本章将一一说明Winsock支持的协议以及各协议如何把一个指定家族的地址解析成网络上一台具体的机器

IP

  • IP协议时无连接的协议
  • TCP/UDP协议依赖于IP协议

TCP

  • TCP(Transmission Control Protocol)
  • 传输控制协议

UDP

  • UDP(User Datagram Protocol)
  • 用户数据报协议
  • UDP能向若干个目标发送数据,接收发自若干个源的数据

AF_INET

  • TCP,UDP都利用IP协议进行数据传输,一般称为 TCP/IP,UDP/IP
  • Winsock通过AF_INET地址家族为IP通信定址

定址

SOCKADDR_IN

struct sockaddr_in{
  short           sin_family;
  u_short         sin_port;
  struct in_addr  sin_addr;
  char            sin_zero[8];
}
sin_family
  • 地址家族字段, AF_INET
sin_port
  • 通信端口字段
  •   已知端口:0 ~ 1023由IANA控制,是为固定服务保留的
  • 已注册端口:1024 ~ 49151是IANA列出来的、已注册的端口,供普通用户的普通用户进程或程序使用。
  • 动态和私用端口:49152 ~ 65535是动态和(或)私用端口。
sin_addr
  • 表示IP地址的4字节无符号长整数

字节序

  • 网络字节序: 大端序
  • 主机字节序: x86 - 小端序

常用函数

unsigned long inet_addr(const char FAR*cp); //https://msdn.microsoft.com/zh-cn/library/windows/apps/ms738563.aspx

u_long WSAAPI htonl(_In_ u_long hostlong);
//https://msdn.microsoft.com/zh-cn/library/windows/apps/ms738556.aspx

struct hostent* FAR gethostbyname(
  _In_ const char *name
);
//https://msdn.microsoft.com/zh-cn/library/windows/desktop/ms738524(v=vs.85).aspx

转载于:https://www.cnblogs.com/helo-blog/p/6483003.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值