首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

Accept() 返回0,请教是咋回事

2012-02-06 
Accept() 返回0,请问是怎么回事 ?在linux端运行server,listen在20000端口,Windows端connect()可以,发送数

Accept() 返回0,请问是怎么回事 ?
在linux   端运行server,listen在20000端口,Windows端connect()可以,发送数据也发送成功了,但linux端的server有时会Accept()返回0,这时windows端发送的数据就收不到了,为什么Accept()会返回   0?

[解决办法]
printf ( "%s\n " , strerror(errno) );
看看输出什么。
[解决办法]
accept 是可以返回0的(用man accept看),如果你的Server关闭了标准输入(也就是0),accept 就可能返回0。关键是程序里对返回0的处理正确吗?

[解决办法]
accept在一般情况不能返回0
[解决办法]
some socket resource not run close() ?

热点排行