免费注册 查看新帖 |

Chinaunix

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

[SCO UNIX] 第二次执行Socket Accept失败?为什么? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-12-25 14:30 |只看该作者 |倒序浏览
以下这段代码,当第二次执行accept函数时就会返回失败,不知道为什么。
有可能在那些方面出问题呢?
struct sockaddr_in client_addr;
while(1)  // accept more than one connections
        {
                socklen_t namelen = sizeof(client_addr);
                SOCKET s;
                if ((s = accept(gSvrGlobal.gSvrSock, (struct sockaddr *)&client_addr, (socklen_t *)&namelen)) ==-1){
                        DBGPRINT(("Sever socket can not accept\n");
                        return -1;
                }
                DBGPRINT(("Client connected.\n");
                continue;
        }

论坛徽章:
0
2 [报告]
发表于 2003-12-25 15:44 |只看该作者

第二次执行Socket Accept失败?为什么?

发全来看看

论坛徽章:
0
3 [报告]
发表于 2003-12-25 15:46 |只看该作者

第二次执行Socket Accept失败?为什么?

发全来看看

论坛徽章:
0
4 [报告]
发表于 2003-12-26 10:44 |只看该作者

第二次执行Socket Accept失败?为什么?

谢谢你的回复。
我知道是什么原因了。
因为这个程序中我用到了thread,Sco官方网站上称,Socket与Thread一起用的时候会出现一些问题。且-lgthreads必须在-lsocket之前链接。

论坛徽章:
0
5 [报告]
发表于 2003-12-26 10:54 |只看该作者

第二次执行Socket Accept失败?为什么?

其实UNIX支持thread并不好,对于SVR3.2更是这样!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP