udp程序设计

几点注意事项:

1、 使用recvfrom 接收应答方地址,对应答方进行身份检测

      利用memcpy函数比较地址是否一致。

2、 sendto 操作成功返回仅仅表示在接口输出队列中具有存放所形成的IP数据报的空间。而不检验目的地址是否可达。如果需要检查目的地址的话应使用connect

3、 当服务端无应答时,recvfrom会一直阻塞,解决的方法有三种: 1) 利用中段SIGALRM信号,检查recvfrom的errno是否等于EINTR。2) 使用select设置超时(==0 )  3) 使用SO_RCVTIMEO套接字选项

4、 写一个长度为0的数据报是可行的,这会形成一个只包含ip首部和8字节udp首部而没有数据的ip数据报。所以对于数据报协议,recvfrom返回0值是可接受的:不像tcp套接字上read返回0值表示对端已关闭(FIN信号)。

5、 对于一些场景,需要给udp增加可靠性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值