本文是对个人笔记中内容的整理,部分代码及图片来自互联网,由于不好找到原始出处,所以未加注明。
如有痛感,联系删除。

本文将介绍以下知识点:

  1. TCP与UDP的区别;

  2. 单播、多播、广播;

  3. Java中实现UDP的重要的类;

  4. Peer Discovering方案

一、TCP vs UDP

TCP:Transmission Control Protocol(传输控制协议)
TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议,由IETF的RFC 793说明(specified)。TCP建立连接之后,通信双方都同时可以进行数据的传输,是全双工的。

  • 在保证可靠性上,采用超时重传和捎带确认机制;

  • 在流量控制上,采用滑动窗口协议,协议中规定,对于窗口内未经确认的分组需要重传;

  • 在拥塞控制上,采用慢启动算法。

TCP传输过程示意图: