日期:2014-05-16  浏览次数:20964 次

Linux 网络 UDP TCP select模式 http协议

网络:

1.      网络的基本概念

网络编程采用socket模型

网络通信本质也是进程之间的通信,是不同主机之间

 

识别主机:4字节整数 :ip地址

识别进程:2字节整数 :端口号

 

IP地址的表示方法:  内部表示:4字节整数

                                  外部表示:数点字符串

                                                                                                                                   结构体

                           1 2 3 4    分段表示,每个段使用.分割

                           "192.168.0.26"

ip地址转换:

#include<netinet/in.h>

structsockaddr_in

{

      int      sin_family

      in_port_t sin_port;

      struct in_addr sin_addr;

};

 

struct in_addr

{

     in_addr_t  s_addr;

};

 

总结:

     ip地址的表示

          字符串表示“192.168.0.26”

          整数表示: in_addr_t

          结构体表示:struct in_adddr

 连接点:endpoint

struct  sockaddr_in

{

     in_port_t    sin_port;

     strcut in_addr  sin_addr;

};

 

Ip地址的转换:

#include<arpa/inet.h>

   inet_addr //把字符串转化为整数(网络字节序)

   inet_aton //把字符串转化为structin_addr(网络字节序)

inet_network //把结构体转换为字符串(本地字节序)

 

  inet_ntoa //把结构体转换为字符串

 

  例子1:

 

#include<stdio.h>

#include<sys/socket.h>

#include<netinet/in.h>

#include<arpa/inet.h>

 

        void  main()

         {

                in_addr_t nip=192<<24|168<<16|0<<8|26;

                char *ip= “192.168.0.26”;

                int  myip;

               //把整数转换为字符串inet_ntoa

                struct  in_addr sip={nip};

                printf(“%s\n”,inet_ntoa(si