【问题标题】:Understanding client/server relation c++了解客户端/服务器关系 C++
【发布时间】:2016-03-08 06:42:07
【问题描述】:

我想构建一个简单的客户端/服务器应用程序,允许两台不同的计算机来回发送消息,即某种类型的聊天信使。我无法理解的是,一旦我编写了客户端/服务器应用程序,服务器程序将驻留在哪里。

例如,如果我只有两个人连接到一个正在交谈的服务器,他们应该与之交谈的服务器程序将驻留在某个地方,他们都与之交谈,并将他们的消息中继回每台计算机上的客户端。

所以一旦我有了这个服务器,我会把它放在哪里以便双方可以交谈?我是否真的必须将它托管在某个地方,即在互联网上购买空间,或者我可以以某种方式跳过它,并允许两台计算机在没有中间人的情况下简单地通过互联网交谈。

【问题讨论】:

  • 只要两个客户端都知道运行服务器的计算机的地址,它就可以在任何地方运行。即使与其中一位客户在同一台​​机器上。 (而且如果你们知道彼此的地址,就可以不用服务器直接通信。)
  • 如果这仅限于两个人,您可以将其托管在您使用客户端的同一台计算机上(本质上是您自己成为主机)。
  • @Floris Velleman 所以我可以在我自己的机器上托管服务器,并将客户端程序分发给其他人?那会奏效的。
  • @molbdnilo,我唯一的问题是如果我或其他人决定在另一台计算机上使用它会发生什么。然后我必须有一些方法来解析该计算机的 IP 地址。理想情况下,我希望能够在任何计算机上打开程序并通过用户分配的昵称或其他方式解析 IP 地址。

标签: server client chat


【解决方案1】:

您可以在自己的服务器上运行该程序。这将允许您从任何位置连接到该服务器(如果您进行了设置)并将客户端与该服务器一起使用。

理想情况下,我希望能够在任何计算机上打开程序并通过用户分配的昵称或其他方式解析 IP 地址。

这将通过建立您自己的服务器来解决。如果您没有服务器,您可以去托管您的应用程序的地方(可能要花钱)。

您也可以从您启动客户端的计算机上运行它,但这需要其他用户连接到该计算机,而不是为您的服务器提供一个静态位置(并且您允许该/防火墙)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-03-24
    • 2011-08-04
    • 1970-01-01
    • 2016-04-15
    • 1970-01-01
    • 2014-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多