VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 470|回复: 2

[已解决]局域网聊天,服务器关闭后,还在连接的客户端没有关闭

[复制链接]
24_avatar_middle
最佳答案
0 
在线会员 发表于 2020-4-11 10:07:38 | 显示全部楼层 |阅读模式
在做《打造局域网聊天》

正常连接和取消连接都可以,但是当客户端还保持连接 服务器主动关闭的时候,recv 并没有返回 0

在做调试的时候,我尝试使用断点来查看到底哪里有问题,但是断点一旦走到了 recv 那一句函数时 就消失了,也不显示它现在在跑哪一行,while循环的断点也没有再停

求解……

  1. while (!(pChatRoom->bShutDown)) {
  2.                 if (SOCKET_Select(pChatRoom->m_ConnectSock)) {
  3.                         TCHAR szBuf[MAX_BUF_SIZE] = { 0 };
  4.                         int iRet = recv(pChatRoom->m_ConnectSock, (char*)szBuf, MAX_BUF_SIZE, 0);
  5.                         if (iRet > 0) {
  6.                                 pChatRoom->ShowMsg(szBuf);
  7.                         }
  8.                         else {
  9.                                 pChatRoom->ShowMsg(_T("System> Surver had Ended, Please Reconect"));
  10.                                 break;
  11.                         }
  12.                 }
  13.                 Sleep(500);
  14.         }
复制代码
最佳答案
51_avatar_small
2020-4-11 13:08:47
但是断点一旦走到了 recv 那一句函数时 就消失了,也不显示它现在在跑哪一行?
这种情况可能是源码跟调试的exe和pdb没对应上,完全重新编译下源码就可以了




上一篇:安装虐我千百遍。。
下一篇:求指导
51_avatar_middle
最佳答案
90 
online_admins 发表于 2020-4-11 13:08:47 | 显示全部楼层    本楼为最佳答案   
bestAnswer
但是断点一旦走到了 recv 那一句函数时 就消失了,也不显示它现在在跑哪一行?
这种情况可能是源码跟调试的exe和pdb没对应上,完全重新编译下源码就可以了
24_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-4-11 23:43:01 | 显示全部楼层
Syc 发表于 2020-4-11 13:08
但是断点一旦走到了 recv 那一句函数时 就消失了,也不显示它现在在跑哪一行?
这种情况可能是源码跟调试 ...

多谢老师!!解决了
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

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

关闭

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

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

GMT+8, 2023-9-28 11:51

Powered by CcTry.CoM

© 2009-2021 cctry.com

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