A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 原子弹 中级黑马   /  2014-3-25 21:44  /  1804 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 朱神必 于 2014-4-1 18:04 编辑

什么情况下适用UDP   什么情况下适用TCP协议啊       大神求指教

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

7 个回复

倒序浏览
TCP提供的是面向连接的、可靠的数据流传输,可避免数据传输错误。
而UDP提供的是非面向连接的、不可靠的数据流传输。
但TCP的传输速度比UDP的慢,但重在稳和安全上。在使用时,看你重在稳和防止数据传输错误还是重在速度。比如传输重要文件,一点都不能漏的,那么肯定用TCP宁可慢,也不能不稳。那么如果是讲究速度,比如再线看视频,如果文件都用TCP检测再传输,那就慢很多了,得用UDP快速传输。

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
TCP 传输的时候须要建立连接   采用三次握手进行连接    所以,这种方式传输比较安全      UDP是无须连接,直接发送数据的,传输信息不安全,类似于发送快递。

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
udp为不可靠的协议,不需要建立连接,效率高但是不保证数据完整性。tcp为可靠的传输协议,需要建立链接。

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
UDP小数据量(每个数据包不可以超过64K),数据可以不完整“如果用某个东西,不完整,没关系”,传输快时就用它。(qq,直播电视(突然卡一下没事)等)
TCP数据要完整“如果用某个东西,不完整,可能就没法用”(迅雷,sql)

360的网络连接可以查看,网络进程对应的协议

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
面向连接的TCP“面向连接”就是在正式通信前必须要与对方建立起连接。比如你给别人打电话,必须等线路接通了、对方拿起话筒才能相互通话。TCP(Transmission Control Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。我们来看看这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。面向非连接的UDP协议“面向非连接”就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。这与现在风行的手机短信非常相似:你在发短信的时候,只需要输入对方手机号就OK了。UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。比如,我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,其实“ping”命令的原理就是向对方主机发送UDP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的。例如,在默认状态下,一次“ping”操作发送4个数据包(如图2所示)。大家可以看到,发送的数据包数量是4包,收到的也是4包(因为对方主机收到后会发回一个确认收到的数据包)。这充分说明了UDP协议是面向非连接的协议,没有建立连接的过程。正因为UDP协议没有连接的过程,所以它的通信效果高;但也正因为如此,它的可靠性不如TCP协议高。QQ就使用UDP发消息,因此有时会出现收不到消息的情况。TCP协议和UDP协议各有所长、各有所短,适用于不同要求的通信环境。
给你查的都学习一下

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
首先,我们看看UDP与TCP的区别:
       UDP是无连接的不可靠的协议,传输的数据包大小不能超过64K,但是它速度快。
       TCP是需要建立连接的可靠协议,可以传输大的数据,但是它速度慢。
针对这些区别,可以看看它们的适用场合:
      对于UDP一般用于即时通信、在线视频、网络语音电话等。它类似于发短信方式进行通信,发送方发送短信时,并不管接收方是否在信号区,也不管接收方是否一定能接收到,无关紧要。
      TCP主要用于文件的传输,发送和接收邮件,远程登录等。它类似于打电话方式进行通信,必须为双方建立连接,一方没听清楚另一方说的话,会要求对方重说。

评分

参与人数 1技术分 +1 收起 理由
朱神必 + 1

查看全部评分

回复 使用道具 举报
这个问题毕老师重点讲过,跟你分享一下我当时的笔记:

UDP-面向无连接-类比邮局寄包裹
1、将数据及源和目的封装成数据包中,不需要建立连接
2、每个数据包的大小限制在64k内
3,无连接,是不可靠协议
4、速度快
因为有这些特点,UDP常用于视频会议、聊天工具

TCP--类似打电话
1、建立连接,形成通道
2、数据量大
3、三次握手完成连接,是可靠协议
4、效率低
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马