UNP 学习笔记
来源:互联网 发布:网络共享服务器 反应慢 编辑:程序博客网 时间:2024/05/14 10:56
UNP 学习笔记
3 socket编程简介
3.1 概述
3.2 socket地址结构
socket函数都需要一个指向socket地址结构的指针作为参数。
每个协议族都定义它自己的socket地址结构,以sockaddr_开头
在sys/socket.h中定义一个通用的socket地址结构
例如
3.4 字节排序函数
为了整合MSB/LSB的差别,指定一个网络字节序
在 netinet/in.h 中
3 socket编程简介
3.1 概述
3.2 socket地址结构
socket函数都需要一个指向socket地址结构的指针作为参数。
每个协议族都定义它自己的socket地址结构,以sockaddr_开头
例IPv4 socket的地址结构
struct in_addr {in_addr_t s_addr;};// IPv4 socket address struct sockaddr_in {uint8_t sin_len;/* length of structure 16 */as_family_t sin_family;/* AF_INET */in_port_t sin_port;/* 16b TCP/UDP port number *//* network byte ordered */struct in_addr sin_addr;/* 32b IPv4 address *//* network byte ordered */char sin_zero[8];/* unused */};
在sys/socket.h中定义一个通用的socket地址结构
// general socket addressstruct sockaddr {uint8_tsa_len;sa_family_tsa_family;charsa_data[14];};对于特定协议族,就进行类型强制转换变成通用socket地址结构
例如
struct sockaddr_in serv;bind(sockfd, (struct sockaddr *)&serv, sizeof(serv));
3.4 字节排序函数
为了整合MSB/LSB的差别,指定一个网络字节序
在 netinet/in.h 中
// host order to net orderuint16_t htons(uint16_t host16bitvalue);uint32_t htons(uint32_t host32bitvalue);// net order to host orderuint16_t ntohs(uint16_t net16bitvalue);uint32_t ntohs(uint32_t net16bitvalue);
0 0
- UNP学习笔记
- UNP 学习笔记
- UNP 学习笔记2
- UNP 学习笔记3
- UNP 学习笔记4
- UNP学习笔记(1)
- UNP学习笔记(2)
- UNP学习笔记-第5章
- UNP学习笔记-第6章
- UNP学习笔记(第一章 简介)
- UNP卷一学习笔记:TCP状态
- unp 笔记
- 《UNP》-IPC学习笔记(1):IPC综述
- UNP学习笔记——(1)开篇
- UNP学习笔记——(2)环境搭建
- UNP学习笔记(第二章:传输层)
- UNP学习笔记(第三章:套接字编程简介)
- UNP学习笔记(第六章 I/O复用)
- CSS基础2
- opencv程序十四:读取视频并播放
- interrupt的使用
- 动态规划之矩阵链相乘问题(算法导论)
- C++在单继承、多继承、虚继承时,构造函数、复制构造函数、赋值操作符、析构函数的执行顺序和执行内容
- UNP 学习笔记
- 为什么 Thread.stop和Thread.suspend等被废弃了?
- poj 3253
- 关于yum和rpm
- 生成与中文字符串相对映的拼音首字母串的函数(js)
- MATLAB 视频读取时:Unable to locate decompressor to decompress video stream 错误原因
- 设计模式 之 中介者
- C++中如何使函数返回数组
- Linux 安装和测试 cblas, lapack, lapacke