什么是C/S架构
C指的是client(客户端软件),S指的是Server(服务端软件),本章的重点就是教大家写一个C/S架构的软件,实现服务端软件与客户端软件基于网络通信。
计算机基础知识
作为应用开发程序员,我们开发的软件都是应用软件,而应用软件必须运行于操作系统之上,操作系统则运行于硬件之上,应用软件是无法直接操作硬件的,应用软件对硬件的操作必须调用操作系统的接口,由操作系统操控硬件。
比如客户端软件想要基于网络发送一条消息给服务端软件,流程是:
1、客户端软件产生数据,存放于客户端软件的内存中,然后调用接口将自己内存中的数据发送/拷贝给操作系统内存
2、客户端操作系统收到数据后,按照客户端软件指定的规则(即协议)、调用网卡发送数据
3、网络传输数据
4、服务端软件调用系统接口,想要将数据从操作系统内存拷贝到自己的内存中
5、服务端操作系统收到4的指令后,使用与客户端相同的规则(即协议)从网卡接收到数据,然后拷贝给服务端软件
什么是网络
硬件之上安装好操作系统,然后装上软件你就可以正常使用了,但此时你也只能自己使用,像下图这样,每个人都拥有一台自己的机器,然而彼此孤立
各层运行常见物理设备
每层运行的协议
什么是TCP/IP?
Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础
OSI七层模型
OSI/RM模型(Open System Interconnection / Reference Model)的设计目的是成为一个所有计算机厂商都能实现的开放网络模型,来克服使用众多私有网络模型所带来的困难和低效性。