下面要和大家说的是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区别总结:
1、TCP是面向连接的,通俗的说,就和打电话要先拨号建立连接是一样的;UDP是无连接的,即发送数据之前不需要建立连接。
2、TCP提供的服务十分可靠。就是说,通过TCP连接传送的数据,无差错,不丢失,不重复,且按序到达;而UDP只会尽最大努力交付,即不保证可靠交付。
Tcp通过校验和,重传控制,序号标识,滑动窗口、确认应答实现可靠传输。如丢包时的重发控制,还可以对次序乱掉的分包进行顺序控制。
3、UDP实时性较好,工作效率比TCP高,适用于对高速传输和实时性有较高的通信或广播通信。
4.每一条TCP连接只能是点到点的;UDP支持一对一,一对多,多对一和多对多的交互通信
5、TCP对系统资源要求较多;UDP对系统资源要求较少。
Tcp首部,一般为20字节
UDP首部,一般为8个字节
以上就是本文的全部内容了,想要了解更多通讯协议相关java入门知识,就快来关注我们的网站吧。
推荐阅读: