谢欣伦 - 化繁为简系列原创教程 - 通信专题 - 本地IP查找类CxLocalHostIPAddrFind

  这是一个精练的本地IP查找类,类名、函数名和变量名均采用匈牙利命名法。小写的x代表我的姓氏首字母(谢欣伦),个人习惯而已,如有雷同,纯属巧合。

CxLocalHostIPAddrFind的使用如下:

XNET_API BOOL GetFirstValidIPAddress(LPTSTR lpszIPAddr)

{

    BOOL bValid = FALSE;

    CxLocalHostIPAddrFind find;

    BOOL bRet = find.FindIPAddr();

    while (bRet)

    {

        find.GetIPAddr(lpszIPAddr);

        bValid = IsValidIPAddress(lpszIPAddr);

        if (bValid)

            break;

        else bRet = find.FindNextIPAddr();

    }

    find.FindIPAddrClose(); return bRet;

}

然后在需要的地方调用此函数:

BOOL CO2CPbySocket::ListenRemoteHost()

{

    TCHAR szIPAddr[NET_HOST_MAX_IPV6];

    if (::GetFirstValidIPAddress(szIPAddr)) return m_ssLocalHost.ListenConnection(szIPAddr, NETPORT_NETWORK_COMM);

    else

        return FALSE;

}

  精练的代码不需要过多解释,你们懂的。To be continued...

下载

libComm - v1.2 For WinXP/Win7

你可能感兴趣的:(localhost)