socket编程01

 本章目标:

 

1.什么是socket

 

2. IPv4套接口地址结构

 

3 通用地址结构

4网路字节序:

对于异构系统:

 

 举个栗子,测试一下本机是大端模式还是小端模式

#include<stdio.h>
#include <arpa/inet.h>

int main()
{
    unsigned int x = 0x12345678;
    unsigned char *p = (unsigned char*)&x;
    printf("%x,%x,%x,%x\n",p[0],p[1],p[2],p[3]);

    return 0;
}

输出:

78 56 34 12

 

5字节序转换函数

#include<stdio.h>
#include <arpa/inet.h>

int main()
{
    unsigned int x = 0x12345678;
    unsigned char *p = (unsigned char*)&x;
    //printf("%x,%x,%x,%x\n",p[0],p[1],p[2],p[3]);
    
    unsigned int y = htonl(x);
    p = (unsigned char*)&y;
    printf("%x,%x,%x,%x\n",p[0],p[1],p[2],p[3]);
    
    return 0;
}

输出:

12 34 56 78

 

6地址转换函

举个例子:

#include<stdio.h>
#include <arpa/inet.h>

int main()
{
    unsigned int addr = inet_addr("192.168.0.100");
    printf("addr = %u\n",ntohl(addr));
    printf("addr = %u\n",addr);
    
    struct in_addr ipaddr;
    ipaddr.s_addr = addr;
    printf("%s\n",inet_ntoa(ipaddr));

    return 0;
}

 

套接字类型:

 

posted @ 2016-12-07 11:03  ren_zhg1992  阅读(130)  评论(0)    收藏  举报