比如没网卡,或是端口被占用,或是网络质量有问题?
要比较全的这个怎么搞?

解决方案 »

  1.   


    这玩意儿不够详细啊,比如我禁用本地连接跟拔掉网线,这货都返回:“不能访问网络位置,有关网络排除故障的信息,请参阅Windows帮助”我的目的是直接能告诉用户他为什么不能连接到指定站点了
      

  2.   

    那就要自己定义了
    CMySocket::GetError(DWORD error)
    {//错误处理
    CString strError;
    switch(error)
    {
    case WSANOTINITIALISED:
    strError="初始化错误";
    break;
    case WSAENOTCONN:
    strError="对方没有启动";
    break;
    case WSAEWOULDBLOCK :
    strError="对方已经关闭";
    break;
    case WSAECONNREFUSED:
    strError="连接的尝试被拒绝";
    break;
    case WSAENOTSOCK:
    strError="在一个非套接字上尝试了一个操作";
    break;
    case WSAEADDRINUSE:
    strError="特定的地址已在使用中";
    break;
    case WSAECONNRESET:
    strError="与主机的连接被关闭";
    break;
    default:
    strError="一般错误";
    }
    return strError;
    }
      

  3.   

    你的"DWORD error"哪来的,能列举出大部分常见的网络连接错误吗?
      

  4.   


    这些都是winsock返回的吗?其实我更注重网络本身的问题,比如被墙掉了,或是用户的代理挂了