TCP与UDP 详细介绍及区别
2017-12-05 19:55
225 查看
在tcp/ip中能够实现传输层功能的、具有代表性的协议是TCP/UDP
*****************TCP流程*******************************
TCP编程的服务器端一般步骤是:
1、创建一个socket,用函数socket();
2、设置socket属性,用函数setsockopt(); * 可选
3、绑定IP地址、端口等信息到socket上,用函数bind();
4、开启监听,用函数listen();
5、接收客户端上来的连接,用函数accept();
6、收发数据,用函数send()和recv(),或者read()和write();
7、关闭网络连接;
8、关闭监听;
TCP编程的客户端一般步骤是:
1、创建一个socket,用函数socket();
2、设置socket属性,用函数setsockopt();* 可选
3、绑定IP地址、端口等信息到socket上,用函数bind();* 可选
4、设置要连接的对方的IP地址和端口等属性;
5、连接服务器,用函数connect();
6、收发数据,用函数send()和recv(),或者read()和write();
7、关闭网络连接;
*************************************UDP****************************
与之对应的UDP编程步骤要简单许多,分别如下:
UDP编程的服务器端一般步骤是:
1、创建一个socket,用函数socket();
2、设置socket属性,用函数setsockopt();* 可选
3、绑定IP地址、端口等信息到socket上,用函数bind();
4、循环接收数据,用函数recvfrom();
5、关闭网络连接;
UDP编程的客户端一般步骤是:
1、创建一个socket,用函数socket();
2、设置socket属性,用函数setsockopt();* 可选
3、绑定IP地址、端口等信息到socket上,用函数bind();* 可选
4、设置对方的IP地址和端口等属性;
5、发送数据,用函数sendto();
6、关闭网络连接;
*************************区别************************************************TCP:
它是面向连接的、可靠的流协议,即不间断的数据结构。
提供可靠性传输,实行“顺序控制、重发机制、流控制、拥塞控制”
UDP:
不具有可靠性的数据报协议,细微处理它会交给上层的应用去完成。在UDP情况下,可确保发送信息的大小,却无法保证一定能收到(属于那种不管三七二十一,直接全部接受,收不收到那就不确定了)
*****************************************************************************
其实UDP/TCP 并没有谁比谁好,只是看相对使用情况!
tcp在传输层有必要实现可靠的情况,它可以提供可靠传输;
udp用于高速传输和实时性有较高要求的通信或广播通信。
例如我们通过ip电话通信,如果使用tcp数据丢失了会被重发,但却无法流畅传输通话,导致无法正常交流。而采用UDP
它不会进行重发,但即使有丢失,也只影响一小部分,因此应该根据应用目的按需使用。
相关文章推荐
- Android探索之旅(第五篇) TCP与UDP的详细介绍以及两者的区别(详细版)
- 网络协议-TCP和UDP最完整的区别介绍
- UDP和TCP的区别(详细)
- 网络协议-TCP和UDP最完整的区别介绍
- TCP 和 UDP 的区别及部分端口号(含三次握手形象介绍)
- UDP和TCP的区别(详细)
- TCP和UDP的详细区别
- TCP和UDP的区别
- TCP与UDP的区别
- TCP与UDP区别小结
- 详细介绍JAVA和C++区别
- TcpListener/TcpClient/UdpClient 的区别及联系
- tcp和udp的区别
- TCP与UDP的区别
- 实例说明TCP和UDP有什么区别
- TCP与UDP的详解与区别
- tcp/udp的区别
- TCP和UDP的区别
- TCP协议小结一--TCP连接与释放以及TCP与UDP的区别
- TCP 和 UDP详解与其区别