网络编程
通信协议模型
参考白皮书
OSI七层模型
TCP/IP四层模型
三次握手四次挥手
1.TCP协议通过三次握手建立连接,通过四次挥手断开连接
2.TCP协议如果握手失败,是不会发送数据包的,UDP直接发送
TCP和UDP的区别
1.TCP和UDP都属于传输层协议
2.TCP是可靠的,UDP是不可靠的
3.TCP有拥塞机制,UDP没有
拥塞机制指根据当前网络状态,动态调整传输速率
4.TCP有重传机制,UDP没有
如果TCP协议在传输过程中发生了丢包,TCP会重传保证数据包的完整性,UDP则不会
UDP的优点就是传输快,保证实时性
单工、半双工、全双工
单工:单方向传输,一方只能发送,另一方只能接收
半双工:可以双向传输,但是一方发送时另一方只能接收,只有一方发送完毕后另一方才能发送
全双工:双向传输可以同时接收和发送
长连接和短连接
这里的长短是时间长度
举个例子QQ接收消息就是长连接不需要手动刷新就能接收信息
朋友圈说说之类的需要刷新才能显示最新的信息就是短连接
CS和BS架构
Client-Sever客户端服务器架构模型
CS架构的软件需要安装,客户端和服务端都需要更新
Browser-Sever浏览器服务器架构模型
BS架构的不需要安装,只需要一个浏览器,更新的时候只需要更新服务器,需要更新客户端
Socket套接字的底层一定是字节流
可以包装成对象流传输对象
Message类 序列化
String message //消息内容
String name //发送人
String date //发生时间
可以包装成二进制流二进制文件