• 2006-11-20

    第六章 地址家族和名字解析 - [winsock]

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://xingzhesun.blogbus.com/logs/3870015.html

    3.1IP
    网际协议:lan wan 是一个无连接的协议。
    6.1.1TCP
    Transmission Control Protocol,
    6.1.2UDP
    user Datagram Protocal
    6.1.3定址
    struct socketaddr_in
    {
    short sin_family;
    u_short sin_port;
    struct in_addr sin_addr;
    char sin_zero[8];
    };

    端口分为:已知端口 已注册端口和动态端口
    0~1023固定服务
    1024~49151已注册端口供普通用户进程使用
    49152~65535动态端口
    unsiged long inet_addr(const char FAR* cp);//把点式的ip地址转换成一个32位的无符号的长整数。
    1.特殊地址
    INADDR_ANy 允许服务器应用监听主机计算机上面每个网络接口上客户机活动。一般情况下,在该地址绑定套接字和本地接口时,网络应用才利用这个地址来监听连接。
    INADDR_BROADCAST用于在一个IP网络中发送广播UDP数据报。
    2.字节排序
    u_long htonl u_long ntohl
    int WSAHtonl int WSANtohl
    u_short htons(); u_short ntohs
    int WSAHtons(); int WSANtohs

    SOCKADDR_IN InternetAddr;
    INT nPortId = 5150;

    InternetAddr.sin_family = AF_INET;
    InternetAddr.sin_addr.s_addr = inet_addr("136.149.3.29");
    InternetAddr.sin_port = htons(nPortId);
    6.1.4创建套接字
    s = socket(AF_INET, SOCK_STREAM,0);
    s = WSASocket(AF_INET, SOCK_STREAM, 0, NULL, 0, WAS_FLAG_OVERLAPPED);
    6.1.5名字解析
    gethostbyname
    WSAAsynGetHostByName
    gethostbyaddr
    WSAAsynGetHostByName
    6.2红外线套接字
    IrSock
    6.3IPX/SPX
    "互联网包交换"IPX


    收藏到:Del.icio.us