首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每次服务器登录时为其分配静态/相同的IP地址

问每次服务器登录时为其分配静态/相同的IP地址
EN

Stack Overflow用户
提问于 2013-04-05 13:58:33
回答 4查看 1.1K关注 0票数 5

我正在开发udp服务器/客户端应用程序。因为为了与服务器通信,所有客户端都必须知道服务器的ip地址和端口号。为此,我将服务器的ip和端口号硬编码到客户端,以便每次客户端都连接到相同的ip和端口号。(使用ipconfig命令找到服务器计算机的ip地址。)但现在的问题是,我在DHCP网络上工作,每次服务器重新启动时,都有可能为其分配一个新的ip地址(不同于客户端已知的ip地址,它们将连接到该ip地址)。因此,每次服务器登录时,我总是希望在客户端硬编码的ip地址被分配给服务器。有什么办法可以做到吗?我对此一无所知。我在网上找过了,但是找不到任何相关的东西。期待帮助:(

EN

回答 4

Stack Overflow用户

发布于 2013-04-05 14:30:21

假设您的客户机是服务器本地的,为什么不放弃硬编码的服务器IP地址,从DHCP借用一个页面并使用某种service discovery方法:

  • 您的客户端第一次上线时会广播“服务器在哪里”消息。服务器响应"I am at IP address X.X“
  • 当服务器启动时,它会广播"Server is now at IP address Y.Y”,这样,如果服务器崩溃,客户端将开始使用新服务器。
票数 3
EN

Stack Overflow用户

发布于 2013-04-05 14:56:00

假设你在局域网上工作,我就是这么做的。

假设您的DHCP服务器具有足够的可配置性:

  • 在dhcp服务器中分配静态map MAC地址/ IP地址,以便同一台计算机始终获得相同的IP(仅用于服务器,而不是每个客户端)。

大多数具有DHCP的入门级一体化设备都具有此功能,如果不具备此功能,则购买具有此功能的新设备应该相当便宜。如果您的DHCP服务器是一台真实的计算机,您肯定可以将其配置为这样做。

此外,您可能希望告诉您的客户端使用本地DNS,并在此本地DNS服务器中为您的服务器定义一个名称,这样您就不必在客户端中硬编码IP地址。但地址应该位于某个配置文件中,而不是在任何情况下硬编码。

我使用dnsmasq既充当具有本地名称的DNS服务器,又充当DHCP服务器,为服务器提供始终相同的地址,并将所有DNS请求指向其自身。

这些问题对于找到dnsmasq:https://stackoverflow.com/questions/7709744/is-there-something-like-dnsmasq-for-windows的windows替代方案可能很有用。

票数 3
EN

Stack Overflow用户

发布于 2013-04-05 15:09:28

通过在DHCP服务器中添加预留字段,我们可以实现这一点。如果您使用的是Windows DHCP服务器,则有一个名为“预留”的部分,我们可以在那里提供您的pc的MAC地址和所需的IP地址。然后服务器会为您提供所提到的IP。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15826953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档