UNIX网络编程(三)-套接字地址结构
2017-03-09 19:08
274 查看
1. IPv4套接字地址结构
IPv4套接字地址以sockaddr_in命名,定义在
<netinet/in.h>头文件中。
[b]地址结构[/b]
struct in_addr { in_addr_t s_addr; // 32位网络字节序IPv4地址 } struct sockaddr_in { uint8_t sin_len; // 套接字的地址结构的长度 sa_family_t sin_family; // 网络协议族,IPv4为AF_INET in_port_t sin_port; // 端口号(网络字节序) struct in_addr sin_addr; // IPv4地址 char sin_zero[8]; // 未使用的额外字节 }
2. 通用套接字地址结构
对于大多数套接字函数(比如: bind, connect, sendto等等)的参数通常是套接字地址结构的引用(也就是以指向该结构的指针),但是,为让这些函数能够处理来自于任何协议族的套接字地址结构。我们为此专门在<sys/socket.h>头文件定义了一个通用套接字地址结构。
struct sockaddr { uint8_t sa_len; sa_family_t sa_family; // 地址协议族: AF_xxx value char sa_data[14]; // 特殊的协议地址 }
[b]实例[/b]
int bind(int, struct sockaddr *, socklen_t);
在调用时都必须要将特定协议的套接字结构地址的指针进行强制类型转换为指向通用套接字地址结构的指针;
struct sockaddr_in serv; //IPv4地址 bind(sockfd, (struct sockaddr *) & serv, sizeof(serv));
相关文章推荐
- Unix网络编程(一):套接字地址结构
- UNIX网络编程(6)--套接字地址结构、通用套接字地址结构
- unix网络编程之套接字地址结构
- UNIX网络编程(3.6)TCP、通配、套接字地址结构、值-结果参数
- 【UNIX网络编程(一)】套接字地址结构、网络字节序和地址转换函数
- unix网络编程第一卷学习之套接字地址结构
- 【UNIX网络编程(一)】套接字地址结构、网络字节顺序和地址转换功能
- UNIX网络编程之几种套接字地址结构说明
- Unix网络编程(二)套接字地址结构常用函数
- UNIX网络编程第3章套接字编程简介3.2套接字地址结构3.3值结果参数3.4字节排序函数
- 《unix网络编程》读书笔记——(一)套接字地址结构
- Unix网络编程学习笔记【1】套接字地址结构
- Unix网络编程学习笔记【1】套接字地址结构
- Unix网络编程 卷1 第3章:套接字编程简介(套接字地址结构)
- Unix网络编程(一)-套接字地址结构
- 套接字和套接字地址结构定义
- 套接字地址结构笔记----C++网络编程
- Unix套接字地址结构
- Unix中套接字地址结构剖析
- 套接字编程相关函数(套接字地址结构、字节序转换、IP地址转换)