gpt4 book ai didi

c++ - 如何找到计算机的 IP 地址?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:09:10 27 4
gpt4 key购买 nike

我正在用 C++ 编写一个使用网络套接字的程序。我需要找出计算机的 IP 地址,以便将其显示给用户。该程序必须在 Windows 和 Linux 上运行。

我在某处听说一台计算机可以有多个 IP 地址。我想要不同计算机上的其他程序可以用来连接到计算机的那个。

这里是我已有的相关代码(变量声明在其他地方):

master = new fd_set;
FD_ZERO(master);
struct sockaddr_in my_addr;

listener = socket(PF_INET, SOCK_STREAM, 0);

my_addr.sin_family = AF_INET;
my_addr.sin_port = htons(port);
my_addr.sin_addr.s_addr = INADDR_ANY;
memset(my_addr.sin_zero, '\0', sizeof my_addr.sin_zero);

bind(listener, (struct sockaddr *)&my_addr, sizeof my_addr);

listen(listener, 10);

FD_SET(listener, master);

fdmax = listener;

最佳答案

I have heard somewhere that a computer can have multiple IP addresses. I want the one that other programs on different computers can use to connect to the computer.

嗯……可能是他们中的任何一个。如果一台计算机有多个 IP 地址,则可以通过其中任何一个访问它。当然,其中一个可能受制于不同的防火墙规则,或者它们可能位于两个完全不同的网段,但无法检测到所有这些情况。

关于c++ - 如何找到计算机的 IP 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/485769/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com