所以我对网络还是个新手,我只对客户机/服务器架构感兴趣。假设您开发了一个程序,客户端版本在计算机上运行,服务器版本在服务器上运行(显然)。为了让客户端连接到服务器,它必须知道服务器的ip地址(以及连接的端口,以便可以将其路由到正确的计算机/程序)。这是否意味着服务器的ip地址不能更改?您是否需要专门告诉ISP保持ip地址不变?因为如果客户端和服务器的ip地址都改变了,那么它们将无法连接,程序将无法工作……换句话说,必须有一个常量。当你注册VPS时,他们会给你一个静态ip地址,你可以从客户端版本绑定到它吗?谢谢!
发布于 2015-11-16 15:04:54
为了使客户端连接到服务器,它必须知道服务器的ip地址(以及连接的端口,以便可以将其路由到正确的计算机/程序)。
对,是这样。
这是否意味着服务器的ip地址不能更改?
不是的。事实上,In随时都可以更改。大多数暴露在公共Internet上的服务器都在Internet的DNS系统中注册了静态域名。客户端请求DNS将所需的域名解析为其当前IP地址,然后客户端即可连接到该域名。但即使在私有局域网中,大多数路由器也充当本地DNS服务器,允许同一网络中的机器通过机器名发现彼此的IP。
操作系统通常会为您处理DNS。客户端可以简单地调用gethostbyname(),或者更好地调用getaddrinfo(),操作系统将根据需要代表客户端执行DNS查询并返回报告的IP。
您是否需要专门告诉您的ISP保持ip地址不变?
你可以,但那通常是额外收费的。如果您的服务器已在DNS中注册,则不需要执行此操作。还有一些免费/廉价的DNS系统,可以与没有静态IP的服务器一起工作。
,因为如果客户端和服务器的ip地址都改变了,那么它们将无法连接,程序将无法工作……
这就是DNS发挥作用的地方。
换句话说,
必须有一个常量。
可由DNS解析的注册域名。
当你注册VPS时,他们会给你一个静态ip地址,你可以从客户端版本绑定到它吗?
这取决于VPS服务,但更有可能的情况是,在VPS服务的主域中为您分配了一个静态子域。例如,myserver.thevps.com。或者,如果您购买自己的域名(这可以从任何数量的提供商非常便宜地完成),您通常可以将其链接到由您的VPS服务操作的DNS服务器。
https://stackoverflow.com/questions/33728053
复制相似问题