TCP UDP解决思路
TCP UDP
我理解TCP的优点在于有链接
也就是说是一种有应答的传输
那是不是在应用层做成有应答机制的,在传输层使用UDP
就代替了TCP吗?
菜鸟刚开始学?
求指导
------解决方案--------------------
TCP不仅有应答, 还保证数据包按顺序接收, 另外还有拥塞控制等功能.
当然这些你都可在UDP之上甚至裸IP之上应用层自己做. 但这样应用层开发的工作量就大了, 为什么要重复造轮子呢?
通信协议分层就是为了每一层可以独立发展, 无需重复开发.
------解决方案--------------------
可以的。但是不是很有必要,通常如果有标准的东西,都提倡用标准的东西。很多库函数,你也可以自己实现,但通常都用库函数来写,既保证正确,也保证可读性。你在应用层做了一大堆这种控制,可能写了一大堆让人云里雾里的代码,明白原理后别人会疑问,这个为什么不直接用TCP来做呢?而且,重传机制,流量控制,拥塞控制等等这些用UDP在传输层是做不了的,要交给上层应用层来做。
------解决方案--------------------
如楼上两位所讲,没有你想的那么简单,除非你基于UDP实现了TCP的所有机制或大部分机制,
------解决方案--------------------
根本不一样,一个是流,一个是数据报.
------解决方案--------------------
TCP不丢不坏不乱,这UDP可做不到。
我理解TCP的优点在于有链接
也就是说是一种有应答的传输
那是不是在应用层做成有应答机制的,在传输层使用UDP
就代替了TCP吗?
菜鸟刚开始学?
求指导
------解决方案--------------------
TCP不仅有应答, 还保证数据包按顺序接收, 另外还有拥塞控制等功能.
当然这些你都可在UDP之上甚至裸IP之上应用层自己做. 但这样应用层开发的工作量就大了, 为什么要重复造轮子呢?
通信协议分层就是为了每一层可以独立发展, 无需重复开发.
------解决方案--------------------
可以的。但是不是很有必要,通常如果有标准的东西,都提倡用标准的东西。很多库函数,你也可以自己实现,但通常都用库函数来写,既保证正确,也保证可读性。你在应用层做了一大堆这种控制,可能写了一大堆让人云里雾里的代码,明白原理后别人会疑问,这个为什么不直接用TCP来做呢?而且,重传机制,流量控制,拥塞控制等等这些用UDP在传输层是做不了的,要交给上层应用层来做。
------解决方案--------------------
如楼上两位所讲,没有你想的那么简单,除非你基于UDP实现了TCP的所有机制或大部分机制,
------解决方案--------------------
根本不一样,一个是流,一个是数据报.
------解决方案--------------------
TCP不丢不坏不乱,这UDP可做不到。