草庐IT

c++ - 如何在 Windows : 中用 C++ 比较两个端点地址

boolcheckSockaddr(sockaddr_ina,sockaddr_inb)检查他们两个是否有相同的地址信息。 最佳答案 boolcheckSockaddr(sockaddr_inconst&a,sockaddr_inconst&b){返回a.sin_addr.S_un.S_addr==b.sin_addr.S_un.S_addr; 关于c++-如何在Windows:中用C++比较两个端点地址,我们在StackOverflow上找到一个类似的问题:

c++ - 如何获取系统的IP地址

如何获取系统的IP地址。我想要在执行ipconfig或/bin/ifconfig后看到的IP地址 最佳答案 您的意思是“IP地址”-使用GetAdapterAddresses在Win32中。那里有示例代码。这有点令人费解,因为您首先调用API必须查看需要多少内存,然后使用所需的内存块再次调用相同的API。然后您必须遍历该内存块中的返回结构列表,如示例所示。你最终要得到的是:TheSOCKET_ADDRESSstructureisusedintheIP_ADAPTER_ADDRESSESstructurepointedtobytheA

c++ - 外部 IP 地址

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:StablewayofretrievingtheexternalIPforahostbehindaNAT嗯,又是你好。我想知道如何获取计算机的外部IP地址(外部IP地址,因为有些人有路由器)?

c++ - 通过基地址的模块句柄

我正在尝试在Windows上获取C++模块的模块句柄。我的问题是我只有模块的基地址和文件句柄,但GetModuleHandle只接收它的名称作为参数。在Windows上的C++中,有没有一种方法可以在不知道模块名称的情况下获取模块句柄? 最佳答案 您是否尝试过使用GetModuleHandleEx(GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS|GET_MODULE_HANDLE_EX_FLAG_UNCHANGED_REFCOUNT,(LPCTSTR)lpBaseAddress,&module)?

c - 我将哪个地址系列用于 src IPv4 和 dest IPv6?

我正在尝试创建一个套接字以允许IPv4到IPv4、IPv4到IPv6、IPv6到IPv4和IPv6到IPv6地址连接。1.)协议(protocol)组合(例如IPv4到IPv6、IPv6到IPv4)是否允许?2.)如果是这样,我是否使用源地址或目标地址系列来创建套接字?目前我正在使用源地址,并且在使用IPv6源地址和IPv4目标地址时收到套接字错误10014WSAEFAULT。相关部分代码:if(!strchr(srcAddr,'['))sock=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);elsesock=socket(AF_INET6,SOCK_

java - Linux 上 Java 中的 IP 地址

到目前为止,我一直使用以下方法获取我的IP地址:InetAddress.getLocalHost().getHostAddress()上述方法适用于Windows,但在linux上我总是得到127.0.1.1作为我的IP地址。我做错了什么? 最佳答案 我在Internet上找到了一些应该可以解决您的问题的代码:StringhostName=InetAddress.getLocalHost().getHostName();InetAddressaddrs[]=InetAddress.getAllByName(hostName);Str

windows - Win32 堆栈部分基地址

我知道要找到一个文本(代码)部分的基地址,应该寻找.text部分的虚拟地址(除非启用了ASLR),但是堆栈呢?堆栈内存是否与堆一起存储在.data段中?如果是这样,我应该寻找.data部分虚拟地址以了解堆栈基地址 最佳答案 堆栈不是一个部分。为每个线程动态分配一个堆栈。(如果它是一个部分,那么每个进程只能有一个线程。) 关于windows-Win32堆栈部分基地址,我们在StackOverflow上找到一个类似的问题: https://stackoverflo

windows - Windows下如何判断两个地址是否在同一个页面?

具体来说,如果在不同的时间读取ESP寄存器指向的地址(包含栈顶地址),如何判断这两个地址是否在同一页?我相信这些地址是物理地址而不是虚拟地址,对吧?这两个读数可能来自不同的进程。Windows是如何进行页面分配的?补充:也许我明白了。那么如果我们使用一个4KB的页面,是否意味着从0x....XXXX0000到0x....XXXX1000的地址在同一个页面中? 最佳答案 你几乎是对的。这个想法很合理,但范围是0x????0000到0x????0FFF。如果你要使用DWORD_PTR或ULONG_PTR你也可以屏蔽掉低12位(ptr&0

windows - 如何让 Windows 7 接受来自地址为 "127.0.0.2"的外部设备的 UDP 消息?

我的公司生产一些带有网络接口(interface)的设备。设备的IP地址=0.0.0.0。客户在现场将设备插入专用网络,然后使用用VB6编写的微型应用程序发现它并设置正确的IP地址。这是通过使用UDP消息来工作的:应用程序广播“谁在那儿?”UDP消息,读回包含设备MAC地址的答案,然后用户发送另一个包含目标MAC的新IP地址的UDP消息。现在,由于某些未知原因,其中一台设备的IP地址设置为127.0.0.2。问题是现在VB应用程序无法再(通过UDP)找到设备,因此无法将IP地址更改为有效地址。进一步的分析显示,如果应用程序在WindowsXP上运行,它会看到设备,但如果应用程序在Win

windows - 获取网站IP地址的批处理脚本?

我正在尝试整理一个批处理文件,它将ping一个网站,并将其ip分配给一个变量-我四处搜索,但还没有真正能够将一些东西放在一起。谁能把我推向正确的方向。蒂姆。 最佳答案 您可以尝试ping命令。这个想法是获取ping输出的[]之间的部分。@echooffsetlocalEnableDelayedExpansionsetmyServer=google.defor/f"tokens=1,2delims=[]"%%aIN('ping-n1!myServer!')DO(if"%%b"NEQ""setip=%%b)echoipis%ip%