社区
网络及通讯开发
帖子详情
如何获取IP地址
runall
2009-03-07 04:18:35
有一台机器配置了多个网卡,我只知道其中一个IP地址,想通过这个IP地址获取其他的IP,代码怎么写?注意程序不是运行在那台配了多个网卡的机器,而是另外一台机器。
...全文
286
18
打赏
收藏
如何获取IP地址
有一台机器配置了多个网卡,我只知道其中一个IP地址,想通过这个IP地址获取其他的IP,代码怎么写?注意程序不是运行在那台配了多个网卡的机器,而是另外一台机器。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
franksally
2009-05-06
打赏
举报
回复
还不结贴散分!
moyu0623
2009-05-01
打赏
举报
回复
要不要这么牛叉呢!呵呵
大川101
2009-04-25
打赏
举报
回复
学习
shiweifu
2009-04-24
打赏
举报
回复
学习
jackwade007
2009-04-24
打赏
举报
回复
了解了啊 ii
ddeng
2009-04-23
打赏
举报
回复
我把压箱底的都共享给你们啦!
//---------------------------------------------------------------------------
// 获取本机IP地址
// 一机可能配多个IP
// IPIndex>=0时为网卡序号,返回1表示获取成功,0表示失败,成功时IP地址保存在IP参数内
// IPIndex<0时仅用来返回本机所配置的IP数
int __fastcall GetLocalIP(char *IP, int IPIndex) {
WSADATA wsaData;
int err = WSAStartup(MAKEWORD( 2, 0 ), &wsaData);
if(err!=0) {
return 0;
}
char szhn[256];
int nStatus = gethostname(szhn, sizeof(szhn));
if(nStatus==SOCKET_ERROR) {
return 0;
}
HOSTENT *host = gethostbyname(szhn);
int nCount = IPIndex>=0 ? 1 : 0;
if (host!=NULL) {
for(int i=0; ; i++) {
if(IPIndex<0) {
nCount++;
}
else {
if(IPIndex==i) {
strcpy(IP, inet_ntoa(*(IN_ADDR *)host->h_addr_list[i]));
break;
}
}
if(host->h_addr_list[i]+host->h_length>=host->h_name) {
break;
}
}
}
WSACleanup();
return nCount;
}
ddeng
2009-04-23
打赏
举报
回复
我把压箱底的都共享给你们啦!
//---------------------------------------------------------------------------
// 获取本机IP地址
// 一机可能配多个IP
// IPIndex>=0时为网卡序号,返回1表示获取成功,0表示失败,成功时IP地址保存在IP参数内
// IPIndex<0时仅用来返回本机所配置的IP数
int __fastcall GetLocalIP(char *IP, int IPIndex) {
WSADATA wsaData;
int err = WSAStartup(MAKEWORD( 2, 0 ), &wsaData);
if(err!=0) {
return 0;
}
char szhn[256];
int nStatus = gethostname(szhn, sizeof(szhn));
if(nStatus==SOCKET_ERROR) {
return 0;
}
HOSTENT *host = gethostbyname(szhn);
int nCount = IPIndex>=0 ? 1 : 0;
if (host!=NULL) {
for(int i=0; ; i++) {
if(IPIndex<0) {
nCount++;
}
else {
if(IPIndex==i) {
strcpy(IP, inet_ntoa(*(IN_ADDR *)host->h_addr_list[i]));
break;
}
}
if(host->h_addr_list[i]+host->h_length>=host->h_name) {
break;
}
}
}
WSACleanup();
return nCount;
}
pp616
2009-04-23
打赏
举报
回复
可以在对方机器上跑程序那就很简单。在不在同一个网段也没关系
关键在你可以和暴露在外面的那一个IP通讯。
yt31109
2009-04-23
打赏
举报
回复
几位大哥能把具体的操作说明一下吗?
我也想学学
typer486
2009-04-23
打赏
举报
回复
这问题我现在刚好也遇到!
wesleyluo
2009-04-22
打赏
举报
回复
楼上的果然简单,既然可以装个程序,那就装返回ipconfig /all的信息程序吧,你这边接收就可以了。
甚至可以你这边控制发个消息,那边就返回。这样一来容易了。
jone7319
2009-04-22
打赏
举报
回复
在同一个网段就好办,利用API可以做到,如果不同网段就麻烦了!
猫已经找不回了
2009-04-22
打赏
举报
回复
[Quote=引用楼主 runall 的帖子:]
有一台机器配置了多个网卡,我只知道其中一个IP地址,想通过这个IP地址获取其他的IP,代码怎么写?注意程序不是运行在那台配了多个网卡的机器,而是另外一台机器。
[/Quote]
多个网卡,物理地址不一样,ip也不一样,让对方回ipconfig /all的信息给你吧。。。
xjq2003
2009-04-21
打赏
举报
回复
[Quote=引用 4 楼 GreensPan 的回复:]
在那台多IP的机上可以装一个软件吗?
[/Quote]
没有问题
greenspan
2009-04-21
打赏
举报
回复
在那台多IP的机上可以装一个软件吗?
oyljerry
2009-03-07
打赏
举报
回复
需要对方机器支持可以查询所有的ip等,需要对方机器返回这个信息给你
xabcxyz
2009-03-07
打赏
举报
回复
关注
hemiya
2009-03-07
打赏
举报
回复
可大可小的问题,细想一下问题需要考虑的挺多。
1、远程访问注册表
2、都在一个网段还算简单点,可以用ping的思路,但不是光根据ip去判断,还要加上计算机名。
3、不在一个网段,不知道。
你要整黑客程序么???
Java基础教程:从入门到实践
本书《Java基础》由Todd Greanier撰写,涵盖了Java编程语言的核心概念和技术。书中详细介绍了Java的历史、特点及其与其它语言的比较,并提供了下载和安装Java的指导。读者将学习到Java的基本语法、面向对象编程的基础、异常处理、集合框架等内容。此外,书中还包含大量示例代码和练习题,帮助读者巩固所学知识。通过阅读本书,初学者可以掌握Java编程的基础技能,为未来的深入学习打下坚实的基础。
2018一建《项目管理》考点-施工过程的质量控制.doc
2018一建《项目管理》考点-施工过程的质量控制.doc
2017年网络最流行空间搞笑句子.docx
2017年网络最流行空间搞笑句子.docx
2013年肇庆市国家义务教育课程标准网络全员培训学习心得体会.doc
2013年肇庆市国家义务教育课程标准网络全员培训学习心得体会.doc
【 Vscode配置c / c++环境】VSCode 配置C/C++开发的步骤 入门教程
Visual Studio Code 是由微软开发的一款免费、开源、跨平台的现代化轻量级代码编辑器,自发布以来迅速成为全球开发者最受欢迎的工具之一。它结合了编辑器的轻便性和集成开发环境(IDE)的强大功能,支持多种编程语言和开发场景,核心特点: 1. 跨平台支持 可在 Windows、macOS 和 Linux 上运行,保持一致的用户体验。 2. 轻量级与高性能 启动速度快,占用资源少,适合处理大型项目或低配置设备。 3. 智能代码补全 内置 IntelliSense(智能感知),提供代码提示、参数信息、快速修复等功能,支持 JavaScript、TypeScript、Python、C++ 等主流语言。 4. 内置终端 直接在编辑器内打开集成终端(支持 PowerShell、CMD、Bash 等),方便执行命令行操作。 5. 调试工具 内置调试器,支持断点、变量监视、调用堆栈查看等,无需离开编辑器即可调试代码。 6. Git 集成 直接通过侧边栏管理 Git 仓库,支持提交、分支切换、冲突解决等操作。 7. 丰富的扩展生态系统 通过 Extensions Marketplace 可安装数千款插件,扩展功能包括: 语言支持:如 Java、Go、Rust 等。 主题与图标:自定义界面风格。 工具集成:如 Docker、Kubernetes、数据库连接等。 效率工具:如 REST Client、Live Server 等。 8. 自定义与主题 支持修改键盘快捷键、界面主题、文件图标等,打造个性化开发环境。 9. 多光标编辑 按住 Alt(Windows/Linux)或 Option(macOS)点击可添加多个光标,同时编辑多处代码。 10. 远程开发支持 通过 Remote - SSH、Remote - Containers 等扩展,可直接连接远程服务器或开发容器,实现无缝协作。
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章