如何收到网卡已经能够接收数据的中断信号呢???

csy_2002 2007-06-05 11:19:34
有一本地程序连接外网服务器,拔掉网线则程序通信中断;如果一插上网线,本地进程就开始连接服务器;程序怎样知道网线已经插上呢??可以通过获得网卡的中断信号来实现吗,怎么实现呢?谢谢!
...全文
260 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
csy_2002 2007-06-11
  • 打赏
  • 举报
回复
我现在是这样做的:
socket sock = socket(AF_INET,SOCK_DGRAM,UPD_PROTOCAL)
sockaddr_in addrServer;
sockaddr_in addrLocal;
addrServer.sin_family =AF_INET;
addrServer.sin_addr = inet_addr("1.1.1.1")
addrServer.sin_port = 1

if(connect(addrServer,(sockaddr*)&addrServer),sizeof(sockaddr_in) != SOCKET_ERROR)
{
//网线没有被拔掉
}
csy_2002 2007-06-05
  • 打赏
  • 举报
回复
自己给自己不断的发送数据吗??那不是需要两个进程吗,但是我只有一个进程。
guxingfeiyu 2007-06-05
  • 打赏
  • 举报
回复
自己给自己发数据。
anjuta_c 2007-06-05
  • 打赏
  • 举报
回复
wmi 可以收到网卡拔掉和插上的信息,下载wmi sdk
guxingfeiyu 2007-06-05
  • 打赏
  • 举报
回复
似乎没有。
csy_2002 2007-06-05
  • 打赏
  • 举报
回复
谢谢啊,我以前还不知道可以自己给自己发心跳包;windows有获取网卡中断的相关SDK吗??
guxingfeiyu 2007-06-05
  • 打赏
  • 举报
回复
不需要两个进程或者线程。客户端给本地端口打开一个连接,然后定时向这个端口发数据,若一段时间内没有收到数据则证明网线掉了。这个也就是心跳包。
如果服务器想要知道客户端是否断网线,则向服务器发心跳包。

18,356

社区成员

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

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