VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1570|回复: 4

[分享] UDP select模型无法接受到数据

[复制链接]
56_avatar_middle
在线会员 发表于 2017-4-18 11:27:33 | 显示全部楼层 |阅读模式
1. 背景
     两个网卡同时使用UDP 发送和接受数据,实现时,发送不管,接受创建线程,利用链表将相应的socket句柄加入到readset中,然后监听
2. 创建socket bind到不同的网卡地址上
3. 利用两个网卡给server发送数据都是OK
4. 利用select模型在线程中接受服务器的数据时,一直都是result  0,不断循环找不到相应的数据。

怀疑:
   可能是服务器没有发送到我们的客户端,抓包发现: UDP的数据已经发送到我们客户端了,但是select一直都无法监听到该数据。
   
请大神们帮帮忙!




上一篇:做掩码图遇到问题
下一篇:基于UDP的select函数用法
56_avatar_middle
ico_lz  楼主| 发表于 2017-4-18 14:35:29 | 显示全部楼层
服务器返回的数据端口不可达,但这个fd也没有被关闭,可以发送,但是不可以接受。
51_avatar_middle
online_admins 发表于 2017-4-18 17:40:23 | 显示全部楼层
郁闷的终结 发表于 2017-4-18 14:35
服务器返回的数据端口不可达,但这个fd也没有被关闭,可以发送,但是不可以接受。

是不是用法上有问题,参考下这篇帖子:

基于UDP的select函数用法:
https://www.cctry.com/thread-272022-1-1.html
98_avatar_middle
在线会员 发表于 2017-4-19 08:30:18 | 显示全部楼层
有答案 啦哦
56_avatar_middle
ico_lz  楼主| 发表于 2017-4-19 14:58:58 | 显示全部楼层
Syc 发表于 2017-4-18 17:40
是不是用法上有问题,参考下这篇帖子:

基于UDP的select函数用法:


调查了2天,结果发现UDP 在bind ip地址时,如果IP地址错误,同样可以将相应的数据包发送出去。
但是在接受时,由于绑定的IP地址错误,所以就会产生端口不可达,其实就是IP地址错误。

别的模块给我传递的IP地址是错误,但是可以发送出去,所以我当时认为他们的地址是OK的,后面发现这个问题,觉得自己很不用心。。。。

Thanks . 老大
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-8-19 12:48

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表