一、底层实现:
Socket:套接字
网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个scoket;
实际上是一条通信管道。
二、网络通信要素:
网络上的请求实际上就是:通过Socket来建立连接然后相互通信
IP地址:网络上主机的唯一标识
端口:应用程序的唯一标识,0—1024由系统来使用,开发中建议1024以上的端口,有效端口:0—65535,
传输协议:用什么样的方式进行交互
1.通讯的规则
2.常见协议:TCP、UDP
TCP :传输控制协议
1.建立连接,形成数据传输的通道
2.在连接中进行大数据传输(数据不受限制)
3.通过三次握手完成连接,是可靠协议,安全送达
4.必须建立连接,效率会稍低
eg:打电话
UDP(用户数据报协议)
1.将数据及源和目的封装成数据包中,不需要建立连接
2.每个数据包的大小限制在64k之内
3.因为无需建立连接,所以是不可靠协议,
4.不需要建立连接,速度快
eg:写信寄快件
三、Socket通信流程:http的底层是socket通信,他是一个tcp传输协议(传输方式),他是一个可靠的,安全的协议,
TCP服务器端--socket()--bind()绑定端口(8080,3306)--listen()监听--accept()接受:此时建立了连接--read()响应请求--write()发送响应--read()读取关闭连接--close()关闭
TCP客户端:
socket()--connect()建立连接--write()发送请求--read()响应请求--close()关闭连接