网络编程

网络编程

软件开发架构:

    1.应用类(C/S架构):一些像qq,微信等桌面应用。

C:Client(客户端):是一个需要先安装后才能运行在用户的电脑上,对客户的电脑操作系统环境依赖很大。

S:Server(服务器端)
         
2.Web类(B/S架构):一些通过像百度,博客园等通过浏览器就可以直接访问的应用。

B:Browser(浏览器):也是一种客户端,是一种不用安装程序的客户端。
         
S:Server(服务器端)

本质:实现两个程序之间通讯

网络协议

不同计算机之间实现无障碍的通信,除了要物理介质外还要由一套共有的标准,这个标准就是互联网协议。

网络协议:

**os**七层架构:

应用层: 各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作

~~表示层:~~对来自应用层的命令和数据进行解释,对各种语法赋予相应的含义,并按照一定的格式传送给会话层。

~~会话层:~~负责连接,建立和断开连接的时机,数据的发送顺序。

传输层:实现软件与软件之间的通信。

网络层:ip协议可以跨局域网传输并且ip地址生成唯一标识互联网中独一无二的一台机器。

数据链路层:基于以太网协议的通信方式,无法跨局域通信,会有广播风暴。

物理层:物理链接介质,传递电信号。

TCP协议:

三次握手,四次挥手原则:

发送数据:

客户端:向服务器端发送发送数据的请求。

服务器端:接受到客户端的请求,并返回一个数据,要求客户端在发送的数据之前添加返回的数据。

客户端:再次发送数据,在数据之前加上服务器端要求添加的数据

 

 

终止发送数据:

客户端:当数据发送完毕后要断开链接,发送断开请求给服务器端说,没有数据发送了我可以断开吗。

服务器端:你发送的请求我已经接收到了,先不要断开等我准备好后断开

客户端:进入等待状态等待服务器发送断开确认信息

服务器端:给客户端发送好了你可以断开链接了

客户端:发送断开信息进入计时等待状态

服务器端:接收到信息断开链接状态

客户端:等待时间结束后未接收到回复确认服务器端已关闭断开链接

 

原文地址:https://www.cnblogs.com/cyfdtz/p/11984740.html