Unix网络编程学习笔记【1】套接字地址结构

来源:互联网 发布:matlab 2014a mac 编辑:程序博客网 时间:2024/05/22 00:46

   大多数套接字函数,都需要一个指向套接字地址结构的指针作为参数,每个协议族都定义了自己的套接字地址结构。这些结构的名字都是以sockadd_开头,并以对应每个协议族的唯一后缀结尾.

   IPv4套接字地址结构也称为“网际套接字地址结构”.所以套接字的地址结构名为 sockaddr_in ( in 为 internet的缩写).

 

struct in_addr {

     in_addr_t s_addr; 

};

 

struct sockaddr_in{

unit8 sin_len;

sa_family_t sin_family;

sa_port_t sin_port;

struct in_addr sin_addr;

char  sin_zero[8];

};

 

 

    通用套接字地址结构

 

struct sockaddr {

unit8 sa_len;

sa_family_t sa_family;

char data[14];

};

 

 

值-结果参数:

 

传递方向的不同:

1)从进程到内核的传递: bind, connect  sendto ,这些函数的一个参数是指向某个套字节地址结构的指针,另一个参数是该结构的整数大小.

 

2) 从内核到进程的传递:accept,recvfrom,getsockname,getpeername.这些函数的其中的两个参数是 指向某个套接字地址结构的指针,和 指向表示该结构大小的整数变量的指针。

原创粉丝点击