(学习记录)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程序时的学习笔记记录,资料参考来源网络。
- 分享
- 举报
-
浏览量:2334次2020-07-24 17:13:30
-
浏览量:5546次2021-05-17 16:52:58
-
浏览量:2881次2021-05-13 18:28:49
-
浏览量:1707次2020-08-07 17:02:17
-
浏览量:6789次2021-09-30 18:51:24
-
浏览量:905次2023-07-05 11:03:52
-
浏览量:1366次2020-09-10 11:08:50
-
浏览量:2176次2022-02-22 10:00:43
-
浏览量:6213次2020-08-19 14:19:54
-
浏览量:1664次2022-01-26 09:49:24
-
2021-04-06 16:22:40
-
浏览量:362次2024-01-15 15:45:30
-
浏览量:8724次2020-12-30 17:36:42
-
浏览量:1941次2020-08-28 16:40:19
-
浏览量:1830次2018-04-09 09:59:21
-
浏览量:545次2023-06-28 15:58:47
-
浏览量:3207次2020-08-07 17:39:59
-
浏览量:2095次2020-08-07 17:47:31
-
浏览量:2949次2021-04-14 10:48:46
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
在学了在学了!
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明