有一本地程序连接外网服务器,拔掉网线则程序通信中断;如果一插上网线,本地进程就开始连接服务器;程序怎样知道网线已经插上呢??可以通过获得网卡的中断信号来实现吗,怎么实现呢?谢谢!

解决方案 »

  1.   

    谢谢啊,我以前还不知道可以自己给自己发心跳包;windows有获取网卡中断的相关SDK吗??
      

  2.   

    wmi 可以收到网卡拔掉和插上的信息,下载wmi sdk
      

  3.   

    我现在是这样做的:
    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)
    {
       //网线没有被拔掉
    }