【问题标题】:Can a single application can be server and the client and query itself单个应用程序可以是服务器和客户端并查询自己吗
【发布时间】:2015-11-25 22:15:54
【问题描述】:

单个程序能否同时作为服务器、客户端和通过 TCP(和 ssl)查询自身? 我正在做一个需要这样配置的项目。 我需要使用 Boost Asio 库和 OpenSSL。

【问题讨论】:

  • 是的,您可以将服务器和客户端代码放在同一个二进制文件中。但是没有理由使用 TCP 和 SSL。您可以只使用匿名套接字对。
  • 我看不出这个问题“太宽泛”了,它是一个简单的是/否答案,答案是肯定的。我可以看到这与 P2P 网络等某些应用程序相关。

标签: c++ ssl openssl boost-asio


【解决方案1】:

您可以在同一个程序中拥有一个 TCP 服务器和客户端进行通信。

但不推荐:

  1. 由于 TCP 服务器的原因,即使使用默认设置,这也会提醒 Windows 防火墙
  2. 这会使您的应用程序更容易被窃听。
  3. 性能永远不会那么好 + 参见 #4:
  4. 为什么要在自己的应用程序中使用 TCP 而不是使用函数参数进行通信?这就像在购买杂货时自言自语。

【讨论】:

  • 这就像在做三明治之前把面包开到杂货店再回来:)
  • 对于#4,我看到一些多人游戏使用这种方法。如果应用协议是在离散的时间步上处理的,那么 TCP 的开销可能没有影响。对于这些特殊情况,有人可能会争辩说,引入分支逻辑会产生技术债务,收益甚微。
猜你喜欢
  • 1970-01-01
  • 2023-04-04
  • 1970-01-01
  • 2011-07-04
  • 1970-01-01
  • 1970-01-01
  • 2021-03-02
  • 1970-01-01
  • 2017-06-13
相关资源
最近更新 更多