2024/06/29笔记随笔
OSI七层模型
- 应用层
- 表示层
- 会话层
- 传输层
- 网络层
- 数据链路层
- 物理层
TCP/IP协议簇 - 应用层:HTTP FTP SNMP NFS SMTP TELNET
- 传输层:TCP UDP
- 网络层:IP ICMP IGMP ARP RARP
- 网络接口层:LAN MAN WAN
HTTP - 特点:
- 无连接:一次请求/响应后,客户端与服务器断开
- 无状态:前后两次请求/响应,Web服务器不能保存状态
- 遵循响应/请求模型:客户端向服务器发送请求,服务器被动响应,并通过无数次响应来为客户端提供服务
网络编程
- Socket:对协议的封装(Socket是一个调用接口,通过Socket才能使用TCP/IP协议)
- 网络编程五要素:
- 在同一个网络
- 两边都要有IP地址
- 两边端口号不同(0~1024系统有用途,不能用)
- 两台主机之间存在协议
- 先有服务器再有客户端
网络编程模型
- AIO(异步非阻塞)模型:复杂,在NIO基础上实现异步请求操作
- NIO(同步非阻塞)模型:非常复杂,多用复路器轮询使用一个线程来处理连接接收消息请求
- BIO(同步阻塞)模型:性能差,适用于连接数少,性能需求低的场景
Java网络编程框架 - 流行框架:Netty,MINA,Grizzly,NIO FrameWork,QuickServer,IOSocket,xSocket,XNIO
- Netty:NIO模型构建的开源异步事件驱动的网络编程框架,简单,性能强悍,功能强大
Netty - Channel(通道):网络操作抽象,代表一个网络连接
- ChannelHandle(通道处理器):用于处理网络事件的接口(接收通道消息)
- ChannelPipeline(通道流水线):处理器链包含一系列ChannelHandle(通道处理器),数据和事件在ChannelPipeline中按顺序被多个ChannelHandle处理
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通