怎样判断网络已经断开呢??求助!!

paio 2005-04-19 03:45:30
其实这个功能挺好实现的,但是对这个功能的反应时间有限制,最好在 1-2s 就能共反应。

就好比桌面右下角的网络连接的图标,断开网线,它马上就能显示出来,做到它的速度就好了

帮忙解决小弟的问题,谢谢大家了!!
...全文
253 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZHENG017 2005-04-20
  • 打赏
  • 举报
回复
禁用网卡系统会发wm_devicechanged.
Caps77 2005-04-20
  • 打赏
  • 举报
回复
我给的链接有ping源代码。一个.h,一个.cpp。整个类只导出一个ping函数,使用很方便,建议楼主仔细看看,不需要看懂代码,只要会用就行
paio 2005-04-20
  • 打赏
  • 举报
回复
BOOL b= InternetCheckConnection("172.16.0.1",FLAG_ICC_FORCE_CONNECTION,
0);

"172.16.0.1",是你的局域网网关


不行啊,我明明可以ping通网关,可使用这个函数就ping不通了,不过改成网址可以,但是反应的速度就慢。
zhangyiabc 2005-04-20
  • 打赏
  • 举报
回复
心跳包.呵呵~~~
Sander 2005-04-20
  • 打赏
  • 举报
回复
如果没有网关呢,(对等网)
bluewinwind 2005-04-20
  • 打赏
  • 举报
回复
最简单的方法大概就是设计比较合理一点的timeout了,
qin_wei 2005-04-20
  • 打赏
  • 举报
回复
在timer里
BOOL b= InternetCheckConnection("172.16.0.1",FLAG_ICC_FORCE_CONNECTION,
0);

"172.16.0.1",是你的局域网网关
jianlimao 2005-04-20
  • 打赏
  • 举报
回复
//检测客户是否已经掉线
bool CServerSocket::HasConnectionDropped()
{
BOOL bConnDropped = FALSE;
INT iRet = 0;
BOOL bOK = TRUE;

struct timeval timeout = {0,0};

fd_set readSocketSet;

FD_ZERO(&readSocketSet);
FD_SET(m_hSocket,&readSocketSet);

iRet = ::select(0,&readSocketSet,NULL,NULL,&timeout);
bOK = (iRet>0);

if(bOK)
{
bOK=FD_ISSET(m_hSocket,&readSocketSet);
}
//AfxMessageBox("where wrong?");

if(bOK)
{
CHAR szBuffer[1] = "";
iRet = ::recv(m_hSocket,szBuffer,1,MSG_PEEK);
bOK = (iRet>0);

if(!bOK)
{
INT iError = ::WSAGetLastError();
bConnDropped = ((iError==WSAENETRESET)||
(iError==WSAECONNABORTED)||
(iError==WSAECONNRESET)||
(iError==WSAEINVAL)||
(iRet==0));
}
}
return(bConnDropped);

}
luolovegui 2005-04-19
  • 打赏
  • 举报
回复
在我的想法里,最容易的办法就是求 IP 地址
luolovegui 2005-04-19
  • 打赏
  • 举报
回复
在我的想法里,最容易的办法就是求 IP 地区。
paio 2005-04-19
  • 打赏
  • 举报
回复
看了楼上的文章 好复杂啊 偶看不太懂啊

有没有简单一点的办法啊
Caps77 2005-04-19
  • 打赏
  • 举报
回复
ping 网关

http://community.csdn.net/Expert/FAQ/FAQ_Index.asp?id=203385
paio 2005-04-19
  • 打赏
  • 举报
回复
忘说了 是在局域网中判断是否端线

0011411 2005-04-19
  • 打赏
  • 举报
回复
qin_wei 2005-04-19
  • 打赏
  • 举报
回复
在timer里
BOOL b= InternetCheckConnection("http://www.yahoo.com/",FLAG_ICC_FORCE_CONNECTION,
0);

18,356

社区成员

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

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