C#网络编程:TCP和UDP》?

1、他们有哪些相同点2、他们有哪些不同点3、各有什么优势、缺点?4、学习它们有哪些要注意的问题?5、怎样更好的掌握它们!.......6、谢谢... 1、他们有哪些相同点2、他们有哪些不同点3、各有什么优势、缺点?4、学习它们有哪些要注意的问题?5、怎样更好的掌握它们!.......6、谢谢 展开
 我来答
匿名用户
2013-11-09
展开全部
最主要的 tcp不能在客户端没有连接的时候通信 UDP就可以~ 这个理由可以让我们忽视所有UDP的缺点
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-11-09
展开全部
一:TCP
TCP最重要的一点是它是一个面向连接的协议。两个设备之间一旦已经存在连接,就会形成一个可靠的数据流,保证数据从一个设备准确地移送到另一个设备。TCP不需要考虑数据的丢失和错位,但是需要考虑一个重要问题:缓冲器。
缓冲器:
发送时:在接到来自接收端的ACK之前,将所有发送的数据存放在一个缓冲器中。
接收时:将所有数据存放在缓冲器中以保证数据按顺序接收。
缓冲器的存在导致一个问题,即:不能保留数据之间的界线。
解决方案:
1.创建一个协议,要求从主机发出的消息都是一一对应的。(通常采用此种方法)
2.设计一个数据消息标记系统,辨认数据流中数据消息的边界。
2.UDP:
UDP的目的:解决TCP中无数据边界的问题。
UDP中不需要使用缓冲器,而是将消息独立地作为包发送。并且保留消息边界。
但是,UDP中不保证数据的传递,可能出现丢包现象,因此应用程序需要处理丢包问题。
解决方案:命令/响应方法。
步骤:1.发送数据到远程设备。
2.启动一个计时器,设置一个预定的时间周期。
3.等待远程设备的响应。收到响应时停止计时器计时,并继续用户的程序。
4.如果还没收到响应计时器就到时了,返回重复步骤1。如果重复多次后仍然没有响应,则认为用户不能与远程主机通信。 虽然UDP在发送消息时对于消息边界的处理稍微容易一些,但是用户需要处理丢包问题(检查丢失的数据包),所以UDP比TCP要更加复杂。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式