QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1400|回复: 9

accept返回0到底算不算正常?by菜鸟

[复制链接]
发表于 2003-8-22 11:38:46 | 显示全部楼层 |阅读模式
在多路复用下老是返回0,但我要的是一个正整数,不然会出错。怎么办?
发表于 2003-8-22 11:46:19 | 显示全部楼层
应该没什么问题吧~看看errno呢?
回复

使用道具 举报

 楼主| 发表于 2003-8-22 14:14:29 | 显示全部楼层
accept(): Success
accept error:Illegal seek
回复

使用道具 举报

发表于 2003-8-22 14:20:08 | 显示全部楼层
建议这样:
errno=0;
if(accept(....//这里就不写了)<0)
{
         cerr<<"err: when accept"<<endl;
         return (-1);
}
if(0!=errno)
{
         cerr<<"err: when accept"<<endl;
         return (-1);
}
//再继续
回复

使用道具 举报

 楼主| 发表于 2003-8-22 17:06:17 | 显示全部楼层
多谢默难,
顺便问一下
accept返回0 不是错误
但是一般我们要的是一个大于0的整数
有什么办法让它不返回0吗?
回复

使用道具 举报

发表于 2003-8-26 10:54:35 | 显示全部楼层
这个……我也不清楚:p
回复

使用道具 举报

发表于 2003-8-28 10:42:10 | 显示全部楼层
[quote:f302617351="zhouyifeng"]多谢默难,
顺便问一下
accept返回0 不是错误
但是一般我们要的是一个大于0的整数
有什么办法让它不返回0吗?[/quote]

accept返回一个可以和client通讯的socket
如果他大于零,你怎么判断到底返回的是socket还是出错了

socket是unsigned int
回复

使用道具 举报

 楼主| 发表于 2003-8-28 11:06:39 | 显示全部楼层
accept返回一个可以和client通讯的socket
如果他大于零,你怎么判断到底返回的是socket还是出错了

accept返回一个大于0的数,这个数就是socket吧,怎么还会是出错呢?
我不太理解,可以说清楚点吗?谢谢
回复

使用道具 举报

发表于 2003-8-28 14:50:05 | 显示全部楼层
> accept返回一个大于0的数,这个数就是socket吧

对啊

>但是一般我们要的是一个大于0的整数,<有什么办法让它不返回0吗?>
<>里面的没看懂,我以为你要让他出错返回大于零呢
回复

使用道具 举报

 楼主| 发表于 2003-8-29 09:34:07 | 显示全部楼层
是这样的,每次accept都返回0,虽然这里没有错,但是在多路复用下,就有问题了。我希望每次是不同的正整数,这样seclet时才能区别是哪个accept返回的socket。
希望我把问题说清楚了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-15 00:09 , Processed in 0.045872 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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