(学习记录)UDP和TCP的区别
最近在重新学习Linux下的socket网络编程,写到了UDP和TCP两种协议的服务器和客户端,收获良多,觉得应该记录下来,便于自己日后的复习。
首先TCP和UDP都是OSI模型中的运输层中的协议。 TCP提供可靠的通信传输,面向连接,发送数据之前需要建立连接。 UDP用于让广播和细节控制交给应用的通信传输,非面向连接,故在发送数据前不需要建立连接。
因为连接传输的关系所以TCP传输的数据不丢失,不重复,按顺序发送且保证抵达。 而UDP无连接,只管发不管到,在安全方面上不如TCP,UDP更适合实时性很高且消息小的通信程序,它的消息重复发送,不用等待确认,在网络非常稳定的条件环境下,udp几乎不会出现问题,如果极度要求性能,可以考虑。
在编程上,服务器端: TCP: 1、创建一个socket; 2、设置socket属性; 3、绑定IP地址、端口等信息到socket上; 4、listen()开启监听; 5、accept()接收客户端来的连接; 6、收发数据,用函数send()和recv(),或者read()和write(); 7、关闭网络连接; 8、关闭监听; UDP: 1、创建一个socket; 2、设置socket属性; 3、绑定IP地址、端口等信息到socket上; 4、循环接收数据,用函数recvfrom(); 5、关闭网络连接;
编程上的区别UDP的编写比TCP程序要简单的多,只要建立的SOCKET且绑定端口信息与IP,就可以直接进行收发。
在客户端: TCP 1、创建一个socket; 2、设置socket属性;* 3、绑定IP地址、端口等信息到socket上; 4、设置要连接的对方的IP地址和端口等属性; 5、连接服务器,用函数connect(); 6、收发数据,用函数send()和recv(),或者read()和write(); 7、关闭网络连接; UDP: 1、创建一个socket; 2、设置socket属性; 3、绑定IP地址、端口等信息到socket上; 4、设置对方的IP地址和端口等属性; 5、发送数据,用函数sendto(); 6、关闭网络连接;
客户端也是如此,不需要建立连接。
本篇是编写TCP与UDP程序时的学习笔记记录,资料参考来源网络。
- 分享
- 举报

-
浏览量:610次2020-07-24 17:13:30
-
浏览量:539次2020-08-04 17:37:01
-
浏览量:462次2018-04-09 09:59:21
-
浏览量:491次2020-04-07 10:25:01
-
浏览量:522次2023-09-13 17:50:49
-
浏览量:658次2019-07-25 15:32:35
-
浏览量:502次2020-07-28 19:05:15
-
浏览量:291次2019-12-18 19:16:10
-
2018-03-20 16:04:16
-
浏览量:780次2018-10-15 21:38:57
-
浏览量:681次2019-12-23 11:03:59
-
浏览量:416次2020-08-07 16:57:28
-
浏览量:409次2020-07-08 19:28:27
-
浏览量:356次2020-07-28 19:16:36
-
浏览量:399次2019-01-16 09:46:12
-
浏览量:354次2018-04-19 11:22:23
-
浏览量:367次2018-03-19 15:32:19
-
浏览量:396次2019-11-13 09:09:26
-
浏览量:389次2019-08-07 17:15:34
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
在学了在学了!







举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明