回 帖 发 新 帖 刷新版面

主题:VC++ 网络连接超时现象

我编了一程序,当外网IP改变时就刷新一次网页,有时网页会刷新,但当外网IP连续改变时有时会出现网络连接超时现象,一旦出现了这种现象网页就不会再刷新了。
部分代码如下:
label:CString str1=GetLocalIpAddress();//GetLocalIpAddress()是获取外网IP的函数,但当外网IP连续改变时有时会出现连接超时现象,我想实现当网络连接超时时仍会一直连接下去,直到获取到外网IP为止,而不是弹出一个警告提示消息框
    for(i=0;;i++)//死循环,一直到外网IP改变了
    {
        CString str2=GetLocalIpAddress();//str2是用来接收改变后的外网IP的,同理,这行代码也会出现连接超时的现象
        if(str1.Collate(str2)!=0)//如果外网IP改变了
        {
            for(int i=0;i<szList.GetCount();i++)//刷新打开的网页
            {
                HWND  hIE;
                hIE=::FindWindow(NULL,NULL);
                if(hIE!=NULL)
                {
                    ::PostMessage(hIE,WM_KEYDOWN,VK_F5,1);
                    ::PostMessage(hIE,WM_KEYUP,VK_F5,1);//向网页窗口发送“F5”以实现刷新网页的目的
                }
            }
            goto label;//外网IP改变后就跳转到label处执行,然后把改变后的外网IP重赋值给str1
        }
    }
}
这个问题可能需要用到异常处理,但我不知到该如何处理,希望高手指点一二,谢谢!

回复列表 (共1个回复)

沙发

这么高深的问题,做为菜鸟完全看不懂
[em1][em1][em12]

我来回复

您尚未登录,请登录后再回复。点此登录或注册