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

1、他们有哪些相同点2、他们有哪些不同点3、各有什么优势、缺点?4、学习它们有哪些要注意的问题?5、怎样更好的掌握它们!.......6、谢谢

第1个回答  2013-11-09
最主要的 tcp不能在客户端没有连接的时候通信 UDP就可以~ 这个理由可以让我们忽视所有UDP的缺点
第2个回答  2013-11-09
一:TCP
TCP最重要的一点是它是一个面向连接的协议。两个设备之间一旦已经存在连接,就会形成一个可靠的数据流,保证数据从一个设备准确地移送到另一个设备。TCP不需要考虑数据的丢失和错位,但是需要考虑一个重要问题:缓冲器。
缓冲器:
发送时:在接到来自接收端的ACK之前,将所有发送的数据存放在一个缓冲器中。
接收时:将所有数据存放在缓冲器中以保证数据按顺序接收。
缓冲器的存在导致一个问题,即:不能保留数据之间的界线。
解决方案:
1.创建一个协议,要求从主机发出的消息都是一一对应的。(通常采用此种方法)
2.设计一个数据消息标记系统,辨认数据流中数据消息的边界。
2.UDP:
UDP的目的:解决TCP中无数据边界的问题。
UDP中不需要使用缓冲器,而是将消息独立地作为包发送。并且保留消息边界。
但是,UDP中不保证数据的传递,可能出现丢包现象,因此应用程序需要处理丢包问题。
解决方案:命令/响应方法。
步骤:1.发送数据到远程设备。
2.启动一个计时器,设置一个预定的时间周期。
3.等待远程设备的响应。收到响应时停止计时器计时,并继续用户的程序。
4.如果还没收到响应计时器就到时了,返回重复步骤1。如果重复多次后仍然没有响应,则认为用户不能与远程主机通信。 虽然UDP在发送消息时对于消息边界的处理稍微容易一些,但是用户需要处理丢包问题(检查丢失的数据包),所以UDP比TCP要更加复杂。本回答被网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网