VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 2212|回复: 1

VC socket重用时报10022,老大指点一下

[复制链接]
50_avatar_middle
最佳答案
0 
在线会员 发表于 2015-11-3 20:03:18 | 显示全部楼层 |阅读模式
3驿站币
BOOL bRet = m_wsaapi.AcceptEx(m_ListenSocket,cClientSKT,m_pOverLap->m_szBuf,0,sizeof(sockaddr_in)+16,sizeof(sockaddr_in)+16,&dwBytesRecv,&m_pOverLap->m_OLap);
        if (!bRet)
        {
            lierr=WSAGetLastError();
            if (lierr != WSA_IO_PENDING && lierr!=WSAECONNRESET)
            {
                PostRFreeMem(m_pOverLap);
                lserrs.Format(_T("PostAccept: SOCKET重用投递失败,Socket:%d,errno:%d \r\n"),cClientSKT,lierr);
                writelogs(lserrs);
                return NULL;
            }
        }

本段代码在本机测试时,并无问题,但放到外网就重用时就报1022,高手指点一下





上一篇:Win32控制台消息接收
下一篇:MFC 串口控件
51_avatar_middle
最佳答案
82 
online_admins 发表于 2015-11-3 22:31:04 | 显示全部楼层
10022 的意思是 WSAEINVAL 参数错误,所以应该你 AcceptEx 函数调用时候的参数传递错误了,调试下看看 m_ListenSocket,cClientSKT 是否是无效的参数?
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-10-30 00:26

Powered by CcTry.CoM

© 2009-2020 cctry.com

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