TCP / UDP
TCP 协议
协议的解释
- 面向连接的一种通讯协议
- 工作在传输层,定义端口,校验位,窗口等相关信息
- 安全,可靠,相对稳定
- 速度比 udp 要慢
accept() 方法
- 从连接队列中获取客户端连接,如果队列为空时方法会引起阻塞
ServerSocket 与 Socket 有什么不同?
- ServerSocket:用在服务端上用来接收客户端,TCP 连接的服务对象(仅仅为达到双方的连接而服务)。
- Socket:术语上讲 — 套接字(通信用的设备 / 装置 / 接口)。从 socket 中可以获取两根管道:一进一出
常见异常解析
- SocketBindException:服务器端口冲突(占用)
- ConnectException:客户端连接服务器时,无法连接服务器
- ConnectionResetException:读数据时,对方已经停止操作 Socket,但对方没有关闭与释放 socket 资源
UDP 协议
什么是UDP?
- UDP 是一种通讯协议。
- 它工作在传输层。
重点:面向无连接的一种协议。
- 英文全称:User Datagram Protocol(用户 数据报文 协议)
UDP简述
- 使用 udp 无需建立双方的连接,即可发送数据。
- 发送数据包含:对方ip,对方端口;本方ip,本方端口;发送的数据。
- 发送方无法知道,数据是否成功到达。
- UDP 也是没办法保证双方的稳定与安全的通讯。
- UDP 能做到数据上比 tcp 要优胜。
图解 UDP
UDP 应用场景
- TCP 协议:发送文件,传输资料,聊天。
- UDP 协议:聊天,语音通信,视频通信,视频监控,其它不怕丢帧的通信。