socket网络编程中为什么说TCP是面向字节流,而UDP是面向数据报的?

时间:2023-01-06 10:32:04
在socket网络编程中,为什么说TCP是面向字节流的,而UDP是面向数据报的?字节流和数据报怎么定义的,有什么区别?哪位大神可以用比较容易理解的语言解释一下啊?

8 个解决方案

#1


http://blog.csdn.net/hanchaoman/article/details/6409106

#2


寄信与打电话的区别

#3


引用 2 楼 ipqtjmqj 的回复:
寄信与打电话的区别

那信和电话语音有什么区别呢?

#4


引用 3 楼 hhhlizhao 的回复:
Quote: 引用 2 楼 ipqtjmqj 的回复:

寄信与打电话的区别

那信和电话语音有什么区别呢?

寄信如果寄两封,到达的顺序不一定与寄出的顺序相同。而打电话则先讲的话先被对方听到,顺序是有保证的

#5



寄信如果寄两封,到达的顺序不一定与寄出的顺序相同。而打电话则先讲的话先被对方听到,顺序是有保证的
那UDP协议岂不是会出现数据乱序的错误?应该怎么避免这种情况?

#6


引用 5 楼 hhhlizhao 的回复:
寄信如果寄两封,到达的顺序不一定与寄出的顺序相同。而打电话则先讲的话先被对方听到,顺序是有保证的

那UDP协议岂不是会出现数据乱序的错误?应该怎么避免这种情况?
接收方根据序号进行重排

#7


设计UDP协议时,加入序号就可以了,接收端组装数据时注意完整性和顺序。

#8


引用 5 楼 hhhlizhao 的回复:
寄信如果寄两封,到达的顺序不一定与寄出的顺序相同。而打电话则先讲的话先被对方听到,顺序是有保证的

那UDP协议岂不是会出现数据乱序的错误?应该怎么避免这种情况?
UDP协议的上层,一般都有应用协议来保证包的顺序以及包的确认,而TCP协议可以简化应用协议的复杂度,也就是说其实好的基于UDP的应用协议复杂度远比基于TCP的

#1


http://blog.csdn.net/hanchaoman/article/details/6409106

#2


寄信与打电话的区别

#3


引用 2 楼 ipqtjmqj 的回复:
寄信与打电话的区别

那信和电话语音有什么区别呢?

#4


引用 3 楼 hhhlizhao 的回复:
Quote: 引用 2 楼 ipqtjmqj 的回复:

寄信与打电话的区别

那信和电话语音有什么区别呢?

寄信如果寄两封,到达的顺序不一定与寄出的顺序相同。而打电话则先讲的话先被对方听到,顺序是有保证的

#5



寄信如果寄两封,到达的顺序不一定与寄出的顺序相同。而打电话则先讲的话先被对方听到,顺序是有保证的
那UDP协议岂不是会出现数据乱序的错误?应该怎么避免这种情况?

#6


引用 5 楼 hhhlizhao 的回复:
寄信如果寄两封,到达的顺序不一定与寄出的顺序相同。而打电话则先讲的话先被对方听到,顺序是有保证的

那UDP协议岂不是会出现数据乱序的错误?应该怎么避免这种情况?
接收方根据序号进行重排

#7


设计UDP协议时,加入序号就可以了,接收端组装数据时注意完整性和顺序。

#8


引用 5 楼 hhhlizhao 的回复:
寄信如果寄两封,到达的顺序不一定与寄出的顺序相同。而打电话则先讲的话先被对方听到,顺序是有保证的

那UDP协议岂不是会出现数据乱序的错误?应该怎么避免这种情况?
UDP协议的上层,一般都有应用协议来保证包的顺序以及包的确认,而TCP协议可以简化应用协议的复杂度,也就是说其实好的基于UDP的应用协议复杂度远比基于TCP的