QQ对IP地址显示的实现原理QQ对IP地址显示的实现原理
indoc.in
QQ对IP地址显示的实现原理
其中对好友的IP和哪个地方的显示是不是很爽的 相信QQ2004大家玩过吧!
啊。哪就跟我来让我看来看究竟。以下为实现原理。
首先载入Winsock动态库,代码如下:
int CIPAddressDlg::StartUp() {
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionReuqested = MAKEWORD(2, 0);
err = WSAStartup(...
QQ对IP地址显示的实现原理
indoc.in
QQ对IP地址显示的实现原理
其中对好友的IP和哪个地方的显示是不是很爽的 相信QQ2004大家玩过吧!
啊。哪就跟我来让我看来看究竟。以下为实现原理。
首先载入Winsock动态库,代码如下:
int CIPAddressDlg::StartUp() {
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionReuqested = MAKEWORD(2, 0);
err = WSAStartup(wVersionReuqested, &wsaData);
if (err != 0)
{
return err;
}
if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) !=
0)
{
WSACleanup();
return WSAVERNOTSUPPORTED;
}
文章内容版权归原作者所有 VICHU.NET
indoc.in
return 0;
}
以下的GetLocalHostName()函数为现实获取计算机名称,
int CIPAddressDlg::GetLocalHostName(CString &sHostName)
{
char szHostName[256];
int nRectCode;
nRectCode = gethostname(szHostName, sizeofa(szHostName));
if (nRectCode != 0)
{
sHostName = _T("Not available");
return WSAGetLastError();
}
文章内容版权归原作者所有 VICHU.NET
indoc.in
sHostName = szHostName;
return 0;
}
然后调用GetIPAddress来获取IP地址
int CIPAddressDlg::GetIPAddress(const CString &sHostName, CString
&sIPAddress)
{
struct hostent FAR *lpHostEnt = gethostbyname(sHostName);
if (lpHostEnt == NELL)
{
sIPAddress = _T("");
return WSAGetLastError();
}
LPSTR lpAddr = lpHostEnt->h_adr_list[0];
if (lpAddr)
{
文章内容版权归原作者所有 VICHU.NET
indoc.in
struct in_addr inAddr;
memmove(&inAddr, lpAddr, 4);
sIPAddress = inet_ntoa(inAddr);
if (sIPAddress.IsEmpty())
sIPAddress = _T("Not available");
}
return 0;
}
哈哈,一切就绪了,是不是很简单啊~
本程序是VC++6.0下运行通过。
文章内容版权归原作者所有 VICHU.NET
本文档为【QQ对IP地址显示的实现原理】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。