1.tcp/udp的区别?
Udp:1无连接:发送数据前不需要建立连接,发送完也不需要释放连接
2.尽最大努力交付:不维持复杂的连接状态
3.面向报文,应用程序每次给下层交付一个报文,应用程序需要选择适合的 报文尺寸
4.没有阻塞控制,会因为网络状况丢失数据,不过实时性强
5.Udp头部开销小,只有8个字节
6.发送方发送一次,接收方也只接受一次,崎岖的数据会丢弃
Tcp:1.面向连接的运输层协议–>发送数据建立连接,结束时释放连接
2.点对点通信—>每条tcp连接1对1
3.可靠交付:无差错,不丢失,不重复,按顺序到达
4.全双工通信:双方的应用程序随时可以发送数据,连接的两端都设有接收 和发送的缓存区
tcp粘包:
粘包问题主要还是因为接收方不知道消息之间的界限,不知道一次性提取多少字节的数据所造成的。
只有TCP有粘包现象,UDP永远不会粘包
粘包:在获取数据时,出现数据的内容不是本应该接收的数据,如:对方第一次发送hello,第二次发送world,
我方接收时,应该收两次,一次是hello,一次是world,但事实上是一次收到helloworld,一次收到空,这种现象叫粘包