免费注册 查看新帖 |

Chinaunix

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

[Linux] 有个问题, getsockopt第四个参数iOpt_Val没有变化 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-09-26 18:47 |只看该作者 |倒序浏览
    val = fcntl(sockfd, F_GETFL, NULL);
        val |= O_NONBLOCK;
    fcntl(sockfd, F_SETFL, val);

    /* connect to ca */
    is_Err_Connect = connect(sockfd, (struct sockaddr*)&addr_server, sizeof(addr_server));
    if(is_Err_Connect < 0)
    {
        if(EINPROGRESS != errno)
        {
            close(sockfd);
            return -1;
                }
               
                time_Connect.tv_set = 3;
                time_Connect.tv_uset = 0;
                FD_ZERO(&Sock_Fds);
                FD_SET(sockfd, &Sock_Fds);
                maxfd = sockfd + 1;
                iRet_Select = select(maxfd, NULL, &Sock_Fds, NULL, &time_Connect);
        if(iRet_Select > 0)
        {
            iget_Sockopt = getsockopt(sockfd, SOL_SOCKET, SO_ERROR, &iOpt_Val, &sock_len);
                        if(ERROR_SUCCESS != iget_Sockopt)
                        {
                close(sockfd);
                return -1;
                        }
            if(ERROR_SUCCESS != iOpt_Val)
                    {
                            close(sockfd);
                return -1;
            }
        }
            else
                {
                    close(sockfd);
            return -1;
            }
    }
    else
        {
            close(sockfd);
        return -1;
    }


有个问题,
getsockopt(sockfd, SOL_SOCKET, SO_ERROR, &iOpt_Val, &sock_len);
第四个参数iOpt_Val没有变化,始终为初始值。为啥啊。。。郁闷了


论坛徽章:
0
2 [报告]
发表于 2013-09-26 19:24 |只看该作者
该问题已解决~

论坛徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46处女座
日期:2013-10-24 14:25:01酉鸡
日期:2014-04-07 11:54:15
3 [报告]
发表于 2013-09-27 11:33 |只看该作者
sock_len你没赋值长度, 必然有错.

论坛徽章:
0
4 [报告]
发表于 2013-09-27 15:01 |只看该作者

嗯,是的
我开始以为是个出参呢,原来是出餐也是入参

回复 3# linux_c_py_php


   

论坛徽章:
4
水瓶座
日期:2013-09-06 12:27:30摩羯座
日期:2013-09-28 14:07:46处女座
日期:2013-10-24 14:25:01酉鸡
日期:2014-04-07 11:54:15
5 [报告]
发表于 2013-09-27 15:33 |只看该作者
对的, 是in/out参数.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP