getsockopt(s,SOL_SOCKET,SO_CONNECT_TIME,(char*)&flag,&len);全返回0 ?

VCSQLVB 2005-08-16 04:11:02
我用AcceptEx投递了10个套接字,客户测试时使用connect连接了5个,但未发送数据,一段时间后,使用
BOOL flag = TRUE;
int len = sizeof(BOOL);
int res = getsockopt(work->pIo->sClient,SOL_SOCKET,SO_CONNECT_TIME,(char*)&flag,&len);
检查那10个套接字,结果全部返回0,为什么?
...全文
688 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
VCSQLVB 2005-08-17
  • 打赏
  • 举报
回复
是不是连接了,不发数据用getsockopt才能得到已经连接的时间
而连接了又发送了数据,用getsockopt得到的还应该是0xffffffff?
  • 打赏
  • 举报
回复
那个函数不是用来关闭套节子的
VCSQLVB 2005-08-16
  • 打赏
  • 举报
回复
那是我理解错了,但是由于超时(比如flag大于20秒),我调用TransmitFile来关闭套接字时,为什么要阻塞呀?
  • 打赏
  • 举报
回复
SO_CONNECT_TIME的参数式DWORD

DWORD flag;
int len = sizeof(DWORD);
int res = getsockopt(work->pIo->sClient,SOL_SOCKET,SO_CONNECT_TIME,(char*)&flag,&len);

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧