1

我在 C 中开发了一个客户端任务,在 C 中开发了一个服务器任务。客户端需要服务器 IP 地址才能连接到服务器。问题是:我事先不知道哪台机器将运行客户端以及哪台机器将运行服务器,所以我只能在运行时知道服务器的 ip 地址我的问题:客户端如何在运行时知道 ip服务器的地址?

4

4 回答 4

3

正如评论者所指出的,您可能只使用 DNS。如果由于某种原因您无法获得 DNS 条目,或者服务器和客户端将在同一网络上运行,您可能会考虑使用某种 mDNS,这样您就不需要带有记录的 DNS 服务器和运行。访问http://en.wikipedia.org/wiki/MDNS#Multicast_DNS了解介绍性概述

于 2012-06-27T08:44:33.723 回答
0

首先你必须记住你要搜索多大的网络?如果这对您来说有点问题,那么您可以使用 DNS,它真的很有用.....

于 2012-06-27T10:10:34.540 回答
0

使用客户端和服务器都事先知道的第三方代理服务器。

只需在任何地方使用已知 IP 地址设置服务器即可。(使用云服务器是一种既便宜又快捷的选择。)

当服务器启动时,它会将其 IP 地址发送到代理服务器,当客户端启动时,它会向代理服务器查询要连接的服务器。

当然,你必须为此编写一个协议,但它可以非常简单。

于 2012-06-27T08:08:17.747 回答
0

如果您的服务器和客户端将在您的本地网络上运行,请使用这个漂亮的 MAC 地址:FF-FF-FF-FF-FF-FF ... ;) 但是如果名称保持不变,则最好使用 DNS。

于 2012-07-03T16:37:21.240 回答