首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > VxWorks >

VxWorks中的select有关问题(哪位高手有使用select来收发Tcp或Udp数据)

2012-02-03 
VxWorks中的select问题(谁有使用select来收发Tcp或Udp数据)C/C++ codewhile(true){assert(errno0)//这

VxWorks中的select问题(谁有使用select来收发Tcp或Udp数据)

C/C++ code
while(true){    assert(errno==0);//这里取错误号等于0    int ret=select(nfds+1,&readFs,NULL,NULL,&timeOut);    if( ret>0 ){        assert(errno==0x3d0002);//这里必然为0x3d0002(S_objLib_OBJ_UNAVAILABLE),这是为什么?        read();//读数据一切正常    }}


X86主板,双网口,其他好像没有什么特殊了

[解决办法]
有可能是信号量等待超时,设备读写超时,或是其它任何等待但没有得到正确反馈的原因引起的。
你把timeout设长一点试一下!
[解决办法]
建议,select()之后不要直接就去读,最好先用FD_ISSET()判断是否是你要用的fd,然后再去read。
select的时候是检测的整个fd的区间,会把很多不是你要的fd也给检测进去。
这个errno还真不知道咋回事,有可能不影响使用的
[解决办法]
mark下
[解决办法]
Mark

热点排行