如何使用BSD套接字查找ip地址
How to find ip addresses with BSD sockets?
我在wlan上使用BSD套接字。我注意到,我的服务器计算机的ip地址偶尔变化,当我连接到它。问题是我将ip地址作为字面值字符串输入到代码中。所以无论何时它发生变化,我都必须进入代码并在那里进行更改。我怎样才能改变代码,使它将使用任何ip是在时间?这是服务器代码
中的调用if ((status = getaddrinfo("192.168.2.2", port, &hints, &servinfo)) != 0)
和客户端是一样的。我尝试为两边的地址NULL,但客户端不会连接,只是给我一个"连接拒绝"错误。
谢谢你的帮助
使用可以在hosts文件或DNS中查找的域名,而不是IP地址。
命令行参数如何?
int main( inr argc, char* argv[] ) {
const char* addr = "myfancyhost.domain.com"; /* default address */
if ( argc > 1 ) {
addr = argv[1]; /* explicit address */
}
if ((status = getaddrinfo(addr, ...
给您的服务器一个名称,并使用gethostbyname
来查找它的地址(并且,通常,将服务器名称放入配置文件中,而不是硬编码它,尽管如果找不到配置文件,硬编码默认值也没关系)。
相关文章:
- 如何使用 Boost Asio 在 Android 上获取我的本地 udp IP 地址?
- C++ / Qt:如何检测主机名或IP地址何时引用当前系统?
- 使用 C++将 IP 地址附加到字符*
- 使用全局 IP 地址时,C++ winsock 2 应用程序中的代码是否必须更改?
- Rabbitmq 将本地主机更改为 IP 地址C++
- C++ - 使用代码块从文件中读取 IP 地址
- C 使用from_string创建IP地址的C 导致lambda错误
- 如何在解析过程中区分 IP 地址和域名
- 如何使用 asio 库获取 IP 地址的主机名
- IP地址匹配过滤功能
- 如何将C++ ulong 4 字节 IP 地址正确转换为 C# 类型
- 如何在NS3中设置节点的IP地址和数据?
- 如何从活动的 udp 连接获取远程 IP 地址和端口
- 无符号的 int 到 IP 地址字符串,不带 itoa/to_string/boost
- 如何在FD_SET内获取套接字的IP地址
- 使用Boost库中的PC中获取我的以太网设备IP地址的列表
- 使用静态IP地址时,ESP32 httpclient连接拒绝了
- C++检查有效的 IP 地址或 IP
- 如何使用 Poco::Net::HTTPSClientSession 绑定特定的源 IP 地址
- 如何在Windows上绕过主机文件获取真实的IP地址