本文是对个人笔记中内容的整理,部分代码及图片来自互联网,由于不好找到原始出处,所以未加注明。
如有痛感,联系删除。
本文将介绍以下知识点:
TCP与UDP的区别;
单播、多播、广播;
Java中实现UDP的重要的类;
Peer Discovering方案
一、TCP vs UDP
TCP:Transmission Control Protocol(传输控制协议)
TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议,由IETF的RFC 793说明(specified)。TCP建立连接之后,通信双方都同时可以进行数据的传输,是全双工的。
在保证可靠性上,采用超时重传和捎带确认机制;
在流量控制上,采用滑动窗口协议,协议中规定,对于窗口内未经确认的分组需要重传;
在拥塞控制上,采用慢启动算法。
TCP传输过程示意图: