你考虑在你的项目中用tcp还是udp主要从哪些方面考虑?初学.盼教.
解决方案 »
- 在vs2010下抄写了vc++深入详解的hook代码,其中让按F2关闭对话框,可在我这里为什么按f2没反应呢??
- spi造成系统重启后系统无法使用的问题?
- MDI中申请内存空间,删除问题
- 好想离开vc
- socket客户端连接服务器,但提示连接别拒绝,可能是什么原因引起的?
- 菜菜地问:头文件中的 #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000是什么意思?
- 如何应用VC自带的柯达扫描控件编写扫描仪接口?最好有示例程序。
- 求教关于工程的设置问题?
- 关于lib又有大问题(118分)
- ADO,ACCESS中的问题(高手请进)!!!
- 一道程序分析题 在线等 谢谢!
- UDP中sendto() API函数发送视频数据大于4096字节怎样分包发送(高手急救)
比如说,传输文件,它要求的可靠性就很高(如果掉一个包就会导致整个文件传输的不完整),所以他就用tcp更合适。
当然如果用udp,也可以自己在程序中进行可靠性维护的工作,不过那样肯定麻烦撒。
另外,用udp耗的资源比tcp要少,因为tcp维护其连接可靠性需要消耗一部分资源,所以对于信息量较少的通信用udp更合适,比如qq,而其可靠性就由自己程序来维护
udp和tcp处于同一个层,尽管udp报头比tcp报头要单纯很多,tcp由于有自身连接的关系,报头格式比udp复杂,但它们最终都被ip包封装,看不出这两协议谁封装谁。
tcp 是面向连接的 通讯之前必须建立一个双向连接 双工的 由于它的可靠性 所以当通讯中有数据包丢失或错误时 会自动要求重发 特点 :安全可靠
而udp 虽然没有可靠 网络阻塞时包的先后次序可能出错 但它的协议头较tcp少的多
再视频传输的时候比tcp有效的多(因为自动重发会导致帧延迟) QQ用udp并不是数据量小
而是考虑到了音频视频的传输 .自己通讯协议做好了,udp并不比tcp差
不同的是TCP增强了传输控制,如对丢包,超时等的控制机制。
如果应用层在UDP上也加上自己的一些控制,实际应用中会需要这么做那和TCP就有点类似了。
所以“tcp是对udp的再包装”---有点道理。
tcp 时时连接 安全性高 发送有顺序 系统消耗大
udp 不连接 安全性低 发送无顺序 系统消耗小
其实我到认为tcp安全性高也是有限的,我曾经作过一个传输程序,大量传输时如果不自己加验证还是会有问题,所以既然都要加验证,如果比较大量的数据,还是用udp比较好
如果打得数据 用这个协议传输可以 这个市专门针对多媒体数据的