流式套接字(SOCK_STREAM),数据报套接字 (SOCK_DGRAM) 的比较

本文详细介绍了两种套接字类型:流式套接字和数据报套接字。流式套接字确保数据按顺序可靠传输,而数据报套接字则为无连接模式,数据包可能乱序或丢失,适用于对实时性要求高但能容忍少量丢包的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.流式套接字

使用这种套接字时,数据在客户端是顺序发送的,并且到达的顺序是一致的。比如你在客户端先发送1,再发送2,那么在服务器端的接收顺序是先接收到1,再接收到2,流式套接字是可靠的,是面向连接的;

2.数据报套接字

这种套接字是无连接的,数据是打包成数据包发送的,到达的顺序不一定与发送的顺序是一致的,并且数据不一定是可达的,并且接收到的数据还可能出错。

既然这样那为什么还要使用这种套接字呢?

因为现每个使用udp的程序都有自己的对数据进行确认的协议。如TFTP协议规定了每收到一个消息比如, TFTP 协议定义了对于每一个发送出
去的数据包,远程在接受到之后都要回送一个数据包告诉本地程序:             “我已经拿到了!(一
                                                   ”
个 “ACK” 包)    。如果数据包发的送者在 5 秒内没有的得到回应,它就会重新发送这个
数据包直到数据包接受者回送了 “ACK” 信号。这些知识对编写一个使用 UDP 协议的
程序员来说是非常必要的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值