【问题标题】:IP Address of servers服务器的 IP 地址
【发布时间】:2015-11-22 06:01:27
【问题描述】:

所以我对网络有点陌生,我只是对客户端/服务器架构感兴趣。假设您开发了一个程序,并且客户端版本在计算机上运行,​​而服务器版本在服务器上(显然)。为了让客户端连接到服务器,它必须知道服务器的 IP 地址(以及连接的端口,以便它可以路由到正确的计算机/程序)。这是否意味着服务器的IP地址不能改变?您是否必须专门告诉您的 ISP 以保持 IP 地址静态?因为如果客户端和服务器的 IP 地址都发生了变化,那么它们将无法连接并且程序将无法运行……换句话说,必须有一个常数。当您注册 VPS 时,他们是否会给您一个静态 IP 地址,您可以从客户端版本绑定到该地址?谢谢!

【问题讨论】:

  • 您在代码中使用服务器 name,或者在客户端使其可配置。
  • 你这是什么意思?
  • 我的意思是什么? '姓名'? “可配置”?

标签: sockets ip


【解决方案1】:

为了让客户端连接到服务器,它必须知道服务器的 IP 地址(以及连接的端口,以便它可以路由到正确的计算机/程序)。

正确。

是不是意味着服务器的ip地址不能改变?

没有。事实上,IP 可以随时更改。大多数暴露于公共 Internet 的服务器都在 Internet 的 DNS 系统中注册了一个静态域名。客户端要求 DNS 将所需的域名解析为其当前的 IP 地址,然后客户端可以连接到它。但即使在私有 LAN 中,大多数路由器也充当本地 DNS 服务器,允许同一网络上的机器通过机器名称发现彼此的 IP。

操作系统通常会为您处理 DNS。客户端只需调用gethostbyname() 或最好是getaddrinfo(),操作系统将根据需要代表客户端执行 DNS 查询并返回报告的 IP。

您是否必须专门告诉您的 ISP 以保持 IP 地址不变?

您可以,但这通常需要额外费用。如果您的服务器已在 DNS 中注册,则没有必要。还有一些免费/廉价的 DNS 系统可以与没有静态 IP 的服务器一起使用。

因为如果客户端和服务器的ip地址都改变了,那么他们将无法连接,程序也无法运行......

这就是 DNS 发挥作用的地方。

换句话说,必须有一个常数。

一个可以被DNS解析的注册域名。

当您注册 VPS 时,他们是否会给您一个静态 IP 地址,您可以从客户端版本绑定到该地址?

这取决于 VPS 服务,但更有可能的情况是您在 VPS 服务的主域中分配了一个静态子域。例如,myserver.thevps.com。或者,如果您购买自己的域名(可以从任意数量的提供商处以非常便宜的价格购买),您通常可以将其链接到您的 VPS 服务运营的 DNS 服务器。

【讨论】:

    猜你喜欢
    • 2016-09-11
    • 1970-01-01
    • 1970-01-01
    • 2020-01-31
    • 2014-11-20
    • 2011-08-01
    • 1970-01-01
    • 2015-06-21
    • 2011-07-02
    相关资源
    最近更新 更多