网络编程—SOCKET开发
一、计算机与网络基础知识 1.1、计算机基础知识 应用软件对硬件的操作必须调用操作系统的接口,由操作系统操控硬件 客户端软件想要基于网络发送一条消息给服务端软件的流程: 1、客户端软件产生数据,存放于客户端软件的内存中,然后调用接口将自己内存中的数据发送或拷贝给操作系统内存。 2、操作系统收到数据后,按照客户端软件指定的规则(协议),调用网卡发送数据。 3、网络传输数据。 4、服务端软件调用系统接口,给操作系统发送将数据从操作系统内存拷贝到自己内存中的指令。 5、服务端操作系统收到 4 的指令后,使用与客户端相同的规则(协议),从网卡接收到数据,拷贝给服务端软件。 1.2、什么是网络 网络 = 物理链接介质 + 互联网协议 互联网协议分为 OSI 七层或 TCP/IP 五层 协议 二、TCP / IP 各层详解 2.1、物理层 功能:基于电器特性发送高低电压(电信号),高电压对应数字 1,低电压对应数字 0。 2.2、数据链路层 功能:单纯的电信号 0 和 1 没有任何意义,因此定义了电信号的分组方式,即以太网协议。 2.1.1、以太网协议( ethernet ) 1、规定一组电信号构成一个数据包,叫做 ‘帧’。每一帧包含 ‘报头