社区
C++ 语言
帖子详情
求客户端获取用户公网IP的方法
kukuhalu123
2011-10-11 03:09:30
我这边有一个用C++开发的客户端
想要获取安装这个客户端用户的公网IP 存入用户本地,请问有什么最简单及最普遍的方法实现吗
非常感谢您们的回答
...全文
169
3
打赏
收藏
求客户端获取用户公网IP的方法
我这边有一个用C++开发的客户端 想要获取安装这个客户端用户的公网IP 存入用户本地,请问有什么最简单及最普遍的方法实现吗 非常感谢您们的回答
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
only_lonely
2011-10-11
打赏
举报
回复
[Quote=引用 1 楼 namelij 的回复:]
假设有一台服务器在公网上面,客户端给服务器发送一个数据包,然后服务器收到这个包之后,将包的源IP和端口 写入数据,然后发送给客户端,那么客户端收到的那个ip就是其公网地址
具体看看 NAT类型检测
[/Quote]
lanneret1234
2011-10-11
打赏
举报
回复
以前收藏的,没试过行不行
*取得本机外网IP*
*返回值为IP字串
*/
CString General::GetIp()
{
CString ipStr="";
char szTempFile [MAX_PATH];
char szTempPath [MAX_PATH];
GetTempPath(MAX_PATH, szTempPath);
UINT nResult=GetTempFileName (szTempPath, _T ("ip"),0,szTempFile);
int ret=URLDownloadToFile(NULL,"http://www.ip138.com/ip2city.asp",szTempFile,0,NULL);
if (ret==S_OK) //如果下载成功
{
FILE *f;
f=fopen(szTempFile,"rb");
if(f)
{
fseek(f,0,SEEK_END);//得到文件大小
int ilength=ftell(f);
fseek(f,0,SEEK_SET);
if(ilength>0)
{
char szMyIp[16] = {0};
char fBuffer[256] = {0};
fread(fBuffer, 256, 1, f);
int iBegin,iEnd;
for (int i = 0; i < ilength; i++)
{
//取得"["的位置
if (fBuffer[i] == 0x5b)
iBegin = i;
//取得"]"的位置
if (fBuffer[i] == 0x5d)
{
iEnd = i;
break;
}
}
memcpy(szMyIp, fBuffer + iBegin + 1, iEnd - iBegin - 1);
//AfxMessageBox(szMyIp);
ipStr=szMyIp;
}
}
}
return ipStr;
}
高性能架构探索
2011-10-11
打赏
举报
回复
假设有一台服务器在公网上面,客户端给服务器发送一个数据包,然后服务器收到这个包之后,将包的源IP和端口 写入数据,然后发送给客户端,那么客户端收到的那个ip就是其公网地址
具体看看 NAT类型检测
《计算机体系结构—网络篇1、2》之 网络结构、
IP
分组交换技术、
IP
/MAC映射、NAT转换等
课程内容:网络结构、
IP
分组交换技术、
IP
/MAC地址映射、私网
公网
IP
、NAT转换、网卡、交换机、路由器等,以上这些内容对于很多同学来说是熟悉又陌生,熟悉的是经常听到,陌生的是没有多少同学真的完全弄明白了,这...
java
获取
客户端
公网
ip
java
获取
客户端
公网
ip
获取
客户端
IP
、
获取
公网
IP
、验证
IP
是否内网
获取
客户端
IP
、
获取
公网
IP
、验证
IP
是否内网1、
获取
客户端
IP
在开发工作中,我们常常需要
获取
客户端
的
IP
。一般
获取
客户端
的
IP
地址的
方法
是:request.getRemoteAddr();但是在通过了Apache,Squid等反向代理软件就不能
获取
...
Java大揭秘:如何轻松
获取
客户端
真实
公网
IP
地址?
知道如何通过java
获取
客户端
ip
地址?若不会,我手把手教你,超级详细,相信我能把你教会。
关于
获取
客户端
公网
IP
问题
在这篇博客前,觉得自己好尴尬,因为我项目框架用的是play,之前在有个需
求
需要
获取
客户端
的
IP
,在本人的上一篇文章中...从而导致项目在线上才发现
获取
的
IP
地址是服务器的
公网
IP
,
C++ 语言
64,648
社区成员
250,503
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章