when udp goes bad and how to solve it(C#)

本文介绍了UDP编程的特点,包括发送和接收无缓冲区、自动保持包边界,且不保证发送接收成功和顺序。同时给出注意事项,如接收时要处理buffer过小异常、不允许丢包需设重发机制,还可用SetSockOption设定接收等待时间。

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

1。udp编程特点:
1)udp发送和接收没有缓冲区,发送和接收都是整包,自动保持包的边界
2)udp包的发送和接收不保证一定成功,不保证按正确顺序抵达

2。注意事项
1)在接收udp包时,如果接收包时给定的buffer太小的话,会发生异常,要捕获异常,相应调整buffer的大小,和给出反馈信息。
2)如果不允许丢包的情况出现的话,要有重发机制来保证,如:每发一条信息,只有收到正确的反馈信息的时候,才证明成功,不然就重试一定次数后才证明真正失败
3)可以用SetSockOption方法来设定接收等待时间,以免傻等。

转载于:https://www.cnblogs.com/xuhx/archive/2004/06/16/16279.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值