系统是如何知道当前物理网线是接上还是没接上?

mimong_lin 2007-04-05 05:27:27
拔了网线后,网络连接的那个小托盘就多了个红色的叉叉,接上线网后那个叉叉就不见了。
请问这个是什么机制来的哦?
是系统的消息通知的么?还是系统时刻在检测网络连接?
...全文
441 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
xujianlane 2007-04-18
  • 打赏
  • 举报
回复
你开个线程不就好了
mimong_lin 2007-04-18
  • 打赏
  • 举报
回复
楼上,这样不好吧,那不是要程序一直在循环检测?
shabble 2007-04-18
  • 打赏
  • 举报
回复
特别关注,我也想知道断网信息
xujianlane 2007-04-17
  • 打赏
  • 举报
回复
检查网卡硬件信息获取最新状态
mimong_lin 2007-04-17
  • 打赏
  • 举报
回复
非常感激。。。。

试过后回来给分。
WingForce 2007-04-16
  • 打赏
  • 举报
回复
没听过操作系统会广播硬件改变消息的
单是检测U盘的拔除都很难做到
一般都是询问方式的了
=============================================
请在google和msdn中搜索WM_DEVICECHANGE
mimong_lin 2007-04-15
  • 打赏
  • 举报
回复
汗。。。。。。。
看样子得找个机会研究操作系统啦。。。。
清歌谁与和 2007-04-15
  • 打赏
  • 举报
回复
关注
curelex 2007-04-15
  • 打赏
  • 举报
回复
没听过操作系统会广播硬件改变消息的
单是检测U盘的拔除都很难做到
一般都是询问方式的了
cdo 2007-04-11
  • 打赏
  • 举报
回复
关注一下,特别关注一拔网线就提示网络断接那个实现机制
mimong_lin 2007-04-11
  • 打赏
  • 举报
回复
等啊等呀。。。。。。。。。。。
miaoshengwu 2007-04-09
  • 打赏
  • 举报
回复
期盼答案!
kw3465 2007-04-09
  • 打赏
  • 举报
回复
给楼主一点实际,不要空说。谁不会空口白话呢?
WingForce 2007-04-09
  • 打赏
  • 举报
回复
恩。。。
没有试验过,也没什么证据,不知道拔出网线的时候windows会不会广播WM_DEVICECHANGE消息
mimong_lin 2007-04-09
  • 打赏
  • 举报
回复
那还是得自己来写程序来试探当前的网络状态况了。

系统方面也是这样子做的?
roger_77 2007-04-09
  • 打赏
  • 举报
回复
同步方式中减少检测断网时connect函数的阻塞时间

  同步方式中的断网时connect的阻塞时间为20秒左右,可采用gethostbyaddr事先判断到服务主机的路径是否是通的,或者先ping一下对方主机的IP地址。


A、采用gethostbyaddr阻塞时间不管成功与否为4秒左右。

  例子:

LONG lPort=3024;

struct sockaddr_in ServerHostAddr;//服务主机地址

ServerHostAddr.sin_family=AF_INET;

ServerHostAddr.sin_port=::htons(u_short(lPort));

ServerHostAddr.sin_addr.s_addr=::inet_addr("192.168.1.3");

HOSTENT* pResult=gethostbyaddr((const char *) &

(ServerHostAddr.sin_addr.s_addr),4,AF_INET);

if(NULL==pResult)

{

int nErrorCode=WSAGetLastError();

TRACE("gethostbyaddr errorcode=%d",nErrorCode);

}

else

{

TRACE("gethostbyaddr %s\n",pResult->h_name);;

}


B、采用PING方式时间约2秒左右
mimong_lin 2007-04-08
  • 打赏
  • 举报
回复
没人来发表意见了么?
mimong_lin 2007-04-06
  • 打赏
  • 举报
回复
那截获得这个中断或是捕捉到系统对这个中断的响应么?
roger_77 2007-04-05
  • 打赏
  • 举报
回复
关注同样的问题,

如果我们的网络程序中能利用到这一点就可以快速检测网络的连接情况了。
WingForce 2007-04-05
  • 打赏
  • 举报
回复
系统应该不需要检测,而是依靠网卡的一个中断令系统进行处理
加载更多回复(1)

18,356

社区成员

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

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