tcp和udp的区别在哪里?计算机通讯协议详解

TheDisguiser 2020-05-23 10:15:23 java常见问答 7750

下面要和大家说的是TCP编程与udp编程之间的区别,大家知道都有哪些区别吗?快跟小编一起来了解了解吧。

TCP服务器端编程步骤一般为:

1、使用函数socket()创建一个socket;

2、设置socket的属性,需要使用函数setsockopt();

3、用函数bind()来绑定IP地址、端口等信息到socket上;

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服务器端编程步骤:

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区别总结:

tcp和udp的区别

1、TCP是面向连接的,通俗的说,就和打电话要先拨号建立连接是一样的;UDP是无连接的,即发送数据之前不需要建立连接。

2、TCP提供的服务十分可靠。就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;而UDP只会尽最大努力交付,即不保证可靠交付。

Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。

3、UDP实时性较好,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。

4.每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信

5、TCP对系统资源要求较多;UDP对系统资源要求较少。

Tcp首部,一般为20字节

tcp和udp的区别

UDP首部,一般为8个字节

tcp和udp的区别

以上就是本文的全部内容了,想要了解更多通讯协议相关java入门知识,就快来关注我们的网站吧。

推荐阅读:

tcp udp数据包长度限制有什么作用?TCP和UDP区别是什么?

tcp udp数据包长度限制是指?

TCP三次握手、四次挥手的原理是什么?过程简述