黑马程序员技术交流社区

标题: TCP UDP区别 [打印本页]

作者: Stars√永恒    时间: 2014-2-17 23:49
标题: TCP UDP区别
详细说下 或用俗语解释下
作者: panzhenglian    时间: 2014-2-17 23:51
百度谷歌的解释应该比我们详细点,嘿
作者: .......    时间: 2014-2-18 00:02
(1)TCP是面向连接的传输控制协议,而UDP提供了无连接的数据报服务;
(2)TCP具有高可靠性,确保传输数据的正确性,不出现丢失或乱序;UDP在传输数据前不建立连接,不对数据报进行检查与修改,无须等待对方的应答,所以会出现分组丢失、重复、乱序,应用程序需要负责传输可靠性方面的所有工作;
(3)也正因为以上特征,UDP具有较好的实时性,工作效率较TCP协议高;
(4)UDP段结构比TCP的段结构简单,因此网络开销也小。
作者: 小Zeor………    时间: 2014-2-18 00:07
这个感觉有点像伸手党了
作者: why168    时间: 2014-2-18 00:23
tcp和udp属于计算机网络体系结构中的传输层,拿其中三层举例。网络层就是菜农,传输层就是菜贩,应用层就是厨师。

1,先跟目的地确认一下,告诉目的地我要传数据了,目的地接收端如果准备好接收数据,就会反馈回来信息告诉发送端:你可以发送了,然后发送端才能发送数据,这种机制就是tcp;
2,如果发送端不需事先确认目的地是否准备好了接收数据,直接发送数据,这种机制就是udp;

作者: 疲劳的小马    时间: 2014-2-18 00:34
udp的发送端:
1,建立udp的socket服务,创建对象时如果没有明确端口,系统会自动分配一个未被使用的端口。
2,明确要发送的具体数据。
3,将数据封装成了数据包。
4,用socket服务的send方法将数据包发送出去。
5,关闭资源。
udp的接收端:
1,创建udp的socket服务,必须要明确一个端口,作用在于,只有发送到这个端口的数据才是这个接收端可以处理的数据。
2,定义数据包,用于存储接收到数据。
3,通过socket服务的接收方法将收到的数据存储到数据包中。
4,通过数据包的方法获取数据包中的具体数据内容,比如ip、端口、数据等等。
5,关闭资源。
TCP客户端:
1,建立tcp的socket服务,最好明确具体的地址和端口。这个对象在创建时,就已经可以对指定ip和端口进行连接(三次握手)。
2,如果连接成功,就意味着通道建立了,socket流就已经产生了。只要获取到socket流中的读取流和写入流即可,只要通过getInputStream和getOutputStream就可以获取两个流对象。
3,关闭资源。
TCP服务端:
1,创建服务端socket服务,并监听一个端口。
2,服务端为了给客户端提供服务,获取客户端的内容,可以通过accept方法获取连接过来的客户端对象。
3,可以通过获取到的socket对象中的socket流和具体的客户端进行通讯。
4,如果通讯结束,关闭资源。注意:要先关客户端,再关服务端。
自己参照比较下吧,有什么不同
作者: 张东健    时间: 2014-2-18 00:38
老毕已经讲的很清楚了,哥们
作者: 还记得梦想吗    时间: 2014-2-18 01:20
两个方向。。
一个安全传输。追求安全。
一个追求速度,效率,传输的过程允许丢包。信息不很重要。。
具体看上面师兄的解释!
作者: 嗯√低调〆    时间: 2014-2-18 02:42
简单就是 TCP安全 UDP不安全
作者: 何苦似梦离    时间: 2014-2-18 08:28
UPD就好比直接给你一根香蕉,TCP就是,我先叫你,你一答应,我马上仍给你香蕉,然后你吃了香蕉,就给我说声,真好吃
作者: 奋斗的小胖子    时间: 2014-2-18 08:37
通俗的说就是TCP是需要两个交流数据的对象,互相回应,嗨,我发数据,嗨,我收到了,嗨,我知道了而UDP是自娱自乐,发了就发了,不管对方知不知道这件事情。UDP对于数据小的传输很快,不错。TCP对于数据大的建议使用啊。更加的安全。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2