一、FTP
文件传送协议(FTP):在互联网的两个主机间实现文件互传的应用层协议。
C/S模式,采用(21端口)传输控制命令,(20端口)传输文件内容。
二、P2P应用
P2P应用的优势:充分聚集利用了(对等方主机)的计算能力以及网络传输带宽,对服务器的依赖很小。
第一个用户从服务器获得副本,另一个用户也要获得副本,那么该用户不一定要从服务器获取,可以从第一个用户获取,若有第三个用户请求,那么他有3种选择,可以从服务器,1、2个用户获取。
三、Socket编程基础
Socket接口模型:
网络应用进程通信时需要通过API接口请求底层协议的服务。可以创建数据报类型套接字SOCK_DGRAM、流式套接字SOCK_STREAM和原始套接字SOCK_RAW.
TCP服务器:
1. 首先给固定的客户端分配一个端口号,所以要绑定(bind)一个端口.
2. 接下来服务器进入监听(listen)状态,等待客户端来访问.
3. 接着客户端要发送TCP连接(connect),服务器接收(accept).
4. 客户端对服务器发送(send)数据,服务器就等待接受(recv)数据,如果没有收到数据,服务端就会一直等,即进入阻塞状态.
5. 当收到数据后会对数据进行处理,处理完会将响应数据发送给客户端.
6. 若没有数据了,就关闭TCP连接close(ss)(和发送数据的客户机),但还可以监听,若没有客户机发送数据了才关闭监听端口close(ms),整个程序退出。
TCP客户:
1. 不需要分配固定的端口,而是调用一个socket()接口获取一个临时的端口
2. 用临时端口跟服务器连接
3. 连接成功客户端可以开始发送数据,
4. 发送完以后等待服务器发送响应信息,进入recv(cs)状态
5. 接收到信息后,recv()函数返回,进行数据的处理,等到所有数据都发送接收完后关闭端口。
UDP服务器:
1. 获得一个固定的端口号
2. 该端口号与服务器进行绑定
3. 不需要等待客户机进行连接,而是可以直接等待接收客户机发来的数据
4. 发送响应数据
5. 若还需要继续接收,那么就等待接收完后发送响应数据
6. 整个过程完了可以关闭监听端口,最后程序结束退出
UDP客户:
1. 调用socket接口,获得一个临时端口的套接字
2. 然后用这个套接字向服务端发送数据
3. 接收到服务端发送的响应数据
4. 若还需要发送数据,就进行发送和接收
5. 若所有数据的都发送接收完了关闭相应的端口和连接,最后程序结束退出