免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 15134 | 回复: 5
打印 上一主题 下一主题

socket 编程问题 的错误代码EBADF [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-10-12 18:33 |只看该作者 |倒序浏览
我的C++程序(以C为主)在aix上跑了四五个小时候出现  :

在connect()之后 返回值小于0 系统提示:Bad file number    错误代码是EBADF

我查了原因是说  EBADF是  参数sockfd 非合法socket处理代码

可是在上面socket()之后 返回值大于0,并没有出现出现 描述符失败。
请问这是怎么回事啊? 什么情况会出现这种错误?

论坛徽章:
0
2 [报告]
发表于 2007-10-12 18:39 |只看该作者
EBADF  The  file descriptor is not a valid index in the descriptor ta-
              ble.

你再检查一下吧,或者发段代码上来

论坛徽章:
0
3 [报告]
发表于 2007-10-12 21:21 |只看该作者
肯定是在某个时候值变了

论坛徽章:
0
4 [报告]
发表于 2007-10-13 22:23 |只看该作者
connect失败后,sockfd要重新调用socket生成

论坛徽章:
0
5 [报告]
发表于 2010-09-15 14:37 |只看该作者
我在server端,也发现了这个错误,不是很理解

论坛徽章:
0
6 [报告]
发表于 2010-09-15 14:44 |只看该作者
找到原因了,recv了一个已经关闭的描述字,所以提示:
EBADF  The  file descriptor is not a valid index in the descriptor ta-
              ble.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP