提问关于TCP的内容,为什么会比UDP慢那么多?
我用UDP接包每秒上百个,用TCP只有10个,同在局域网,为什么相差那么多。
我做的是网络视频播放,急呀,难道十一要在公司过?
[解决办法]
当然,如果TCP能像UDP那样,那么要UDP有何用?
TCP传大数据是个软肋,因为它要维护这个连接,要保证每个包都收到,而且次序也要一样,那么当然就慢了。
视频流都用UDP,除非是很复杂的网络,如有N个NAT的网络,导致UDP无法穿透,不得以才使用TCP。
[解决办法]
你就问这个问题??你还是要其他人帮你解决什么啊?...
UDP比TCP快..原因有:
1,基于连接与无连接
2,对系统资源的要求(TCP较多,UDP少)
3,UDP程序结构较简单
4,流模式与数据报模式
5,TCP保证数据正确性,UDP可能丢包,TCP保证数据顺序,UDP不保证另外结合GPRS网络的情况具体的谈一下他们的区别:
1,TCP传输存在一定的延时,大概是1600MS(移动提供),UDP响应速度稍微快一些。
2,TCP包头结构
源端口16位
目标端口 16位
序列号 32位
回应序号 32位
TCP头长度 4位
reserved 6位
控制代码6位
窗口大小16位
偏移量16位
校验和16位
选项 32位(可选)
这样我们得出了TCP包头的最小大小.就是20字节.
UDP包头结构
源端口16位
目的端口16位
长度 16位
校验和 16位
UDP的包小很多.确实如此.因为UDP是非可靠连接.设计初衷就是尽可能快的将数据包发送出去.所以UDP协议显得非常精简.
......所以............