?菜鸟求救.急救.........

zdk187624 2001-08-04 08:01:15
你们好:
怎样才能编一个程序来显示本机的IP地址(主要用着了哪几个函数).
...全文
69 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
prog_st 2001-08-04
  • 打赏
  • 举报
回复
HOWTO: Retrieve the IP Address of the Remote PPP Peer

Q183988


--------------------------------------------------------------------------------
The information in this article applies to:

Microsoft Windows CE, version 2.0

--------------------------------------------------------------------------------


SUMMARY
There is a special host name called "ppp_peer" that serves as a proxy for the IP address of the remote PPP peer that the Windows CE device is connected to. This article demonstrates how to programmatically retrieve the IP address of the remote peer by using Windows Sockets gethostbyname() API with "ppp_peer".



MORE INFORMATION
The following sample code demonstrates how to programmatically retrieve the IP address of the remote peer by using Windows Sockets gethostbyname() API with "ppp_peer".

Sample Code

#include <windows.h>
#include <winsock.h>

#define MAXLEN 64

BOOL GetIpAddress(char * hostname);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPTSTR lpCmdLine, int nCmdSHow)
{
WSADATA wsadata;
HOSTENT *lpHost=NULL;
char hostname[MAXLEN];
WCHAR msg[128];
int ret, addrlen;
SOCKET sock;
struct sockaddr_in dest, retaddr;


WSAStartup(0x0101, &wsadata);

if ((ret = gethostname(hostname, MAXLEN)) != 0)
{
wsprintf(msg, L"Error calling gethostname: %d", ret);
MessageBox(NULL, msg, NULL, MB_OK);
}
else
{
wsprintf(msg, L"Hostname is: %S", hostname);
MessageBox(NULL, msg, L"Hostname", MB_OK);
}

// Print the local IP address.
MessageBox(NULL, L"Local IP address is", L"Address", MB_OK);
GetIpAddress (hostname);
// Print the remote peer IP address.
MessageBox(NULL, L"Remote IP address is", L"Address", MB_OK);
GetIpAddress ("ppp_peer");

WSACleanup();

return 0;
}



BOOL GetIpAddress(char *hostname)
{
WCHAR msg[128];
HOSTENT *lpHost=NULL;
struct sockaddr_in dest;

lpHost = gethostbyname(hostname);
if (lpHost == NULL)
{
wsprintf(msg, L"gethostbyname failed: %d", WSAGetLastError());
MessageBox(NULL, msg, NULL, MB_OK);
}
else
{
for(int i=0; lpHost->h_addr_list[i] != NULL ;i++)
{
memcpy(&(dest.sin_addr), lpHost->h_addr_list[i],
lpHost->h_length);
wsprintf(msg, L"IP address is: '%S'",
inet_ntoa(dest.sin_addr));
MessageBox(NULL, msg, L"IP Address", MB_OK);
}

}
return 0;
}

Additional query words:

Keywords : kbnetwork kbIP kbSDKPlatform kbWinCE200 kbWinsock kbGrpNet
Issue type : kbhowto
Technology :


Last Reviewed: October 15, 1999
© 2001 Microsoft Corporation. All rights reserved. Terms of Use.




--------------------------------------------------------------------------------
Send feedback to MSDN.Look here for MSDN Online resources.
xcex 2001-08-04
  • 打赏
  • 举报
回复
不过你其实可以先搜索一下的
darkay 2001-08-04
  • 打赏
  • 举报
回复
先用gethostname得到本机器的名字,然后调用gethostbyname得到本机器的相关信息,函数具体怎么用的,你自己查MSDN啦。记得用WSAStartup哦
xcex 2001-08-04
  • 打赏
  • 举报
回复
gethostbyname
xcex 2001-08-04
  • 打赏
  • 举报
回复
gethostname
“Java分布式中间件大汇聚系列一(SpringBoot+Redis+RabbitMQ+ZooKeeper+Redisson....)” 包含了几大重磅性课程,学员 可以根据自己的喜好 进行学习,一步一个脚印深入巩固SpringBoot知识体系栈、消息中间件RabbitMQ、缓存中间件Redis 综合中间件Redisson 以及 分布式锁(ZooKeeper+Redisson+数据库级别锁...)的实现方式 1、SpringBoot实战知识体系~从到小牛 本课程可以让学员一步一个脚印学习当前微服务SpringBoot项目开发涉及的相关技术要点,包括项目多模块搭建,通用上传文件服务,通用发送邮件服务,Redis,RabbitMQ等的学习掌握 2、SpringBoot2.0缓存中间件Redis技术入门与典型应用场景 这是一门关于目前相当流行的分布式缓存中间件Redis相关技术栈的介绍与实战,目的在于带领各位小伙伴一起学习、攻克Redis,更好地巩固自己的核心竞争力;值得介绍的是,本课程在技术层面涵盖了中间件Redis的相关技术栈,比如数据结构String、List、Set、SortedSet以及Hash等等,除此之外,在设计并实战“抢红包系统”以及实战各种数据结构对应的应用场景期间,也使用了微服务、分布式相关的技术。包括SpringBoot2.x、Mybatis、热部署工具、二倍均值法、多线程并发编程、发送邮件等等 3、RabbitMQ实战视频教程 本课程可以让学员零基础从官网的权威技术开发手册入手,学习掌握消息中间件RabbitMQ的各大专用词汇,之后会着重基于SpringBoot搭建的微服务项目实战RabbitMQ的各大知识要点,包括各大消息模型,异步解耦,异步通信发送邮件,业务服务模块解耦,死信队列实战以及死信队列实际业务场景实战等等 4、中间件Redisson实战视频教程,则是介绍redisson相关的核心技术栈及其典型的应用场景,其中的应用场景就包括布隆过滤器、限流器、短信发送、实时/定时邮件发送、数据字典、分布式服务调度等等,在业界号称是在java项目里正确使用redis的姿势! 5、分布式锁实战视频教程 本课程将更深入的实战当前分布式系统、微服务架构下“高并发多线程访问共享资源”时如何实现分布式锁,控制对于共享资源的访问,其中涉及到的相关技术主要是各种分布式中间件:Redis、Zookeeper、Redisson等,还有数据库级别的乐观悲观锁实战,最后还实战了两大常见的业务场景: (1)重复提交 (2)抢单系统如CRM系统销售人员抢单场景 (可以自行扩充到 “抢微信红包”、“商城系统抢单”、“美团骑手、滴滴司机、货拉拉司机抢单”等业务场景!!!) 相信学习了这套视频教程之后,将会更加深入的巩固各位学员的微服务以及分布式知识体系!!!

16,473

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧