第一章 概述
1.1 概述
如果我们要编写通过计算机网络进行通信的程序,那么首先我们要确定它们之间用于通信的协议(protocol).例如是用TCP/IP协议还是用UDP协议,每一种协议都有各自的特点,具体是选用哪一种协议,应该是要根据你的应用程序的用途来进行选择。
在《UNIX网络编程 》卷1中 第一章 提到的网络模型: client <---协议--->server。
1.2 一个简单的时间获取客户程序
1.3协议无关性
什么叫做协议无关性?
协议无关性在这里指的是编写的程序可以在IPv4协议下运行,也可以在IPv6协议下运行,而不是只能在IPv4或者IPv6 协议下运行
1.4 包裹函数
包裹函数用于完成实际的函数调用并检查返回值,并且在发生错误时执行指定的动作。
1.5 一个简单的时间获取服务端程序.
1.6 OSI (Open Systems interconnection 【开放系统互连】)模型:
7 应用层 应用层
6 表示层 应用层
5 会话层 应用层
4 传输层 TCP UDP
3 网络层 IPv4 IPv6
2 数据链路层 设备驱动程序和
1 物理层 硬件
OSI模型的顶上三层被合并成一层并统称为应用层, 套接字编程接口是从应用层到传输层的接口。顶上三层关注的是具体的应用,例如 FTP,Telnet. 对通信细节关注 的比较少。底下四层关注的是通信细节,例如 发送数据,确认数据,排序,校验 等等,它并不关心是何种应用的数据. 顶上三层通常构成用户进程,底下四层作为操作系统内核的一部 分。
1.7 UNIX 标准:POSIX 规范