• 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
    
    
  • 相关阅读:
    5G NR:MAC 子层
    无线接口架构:PHY
    NR 演进之路: NR设计
    What is 5G Massive MIMO?
    CQI MCS 调度关系
    ubuntu离线安装mysql
    如何在Linux系统下的IntelliJ IDEA 2018.3.5下载与安装以及激活教程
    Java调用CMD命令
    文件和byte数组之间相互转换
    Java中两个或多个byte数组合并及int类型转数组
  • 原文地址:https://www.cnblogs.com/helo-blog/p/6483003.html
Copyright © 2020-2023  润新知