Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 单个应用程序可以是服务器和客户端,也可以是查询本身_C++_Ssl_Openssl_Boost Asio - Fatal编程技术网

C++ 单个应用程序可以是服务器和客户端,也可以是查询本身

C++ 单个应用程序可以是服务器和客户端,也可以是查询本身,c++,ssl,openssl,boost-asio,C++,Ssl,Openssl,Boost Asio,单个程序可以同时作为服务器、客户机并通过TCP(和ssl)进行查询吗? 我正在做一个项目,我需要这样的配置。 我需要使用Boost Asio库和OpenSSL。您可以在同一程序中使用TCP服务器和客户端进行通信 但不建议这样做: 由于TCP服务器的原因,即使使用默认设置,也会向Windows防火墙发出警报 这使您的应用程序更容易被窃听 性能永远不会那么好+参见#4: 为什么在自己的应用程序中使用TCP而不是使用函数参数进行通信?这就像在购物时自言自语 是的,您可以将服务器和客户端代码放在同一个二

单个程序可以同时作为服务器、客户机并通过TCP(和ssl)进行查询吗? 我正在做一个项目,我需要这样的配置。
我需要使用Boost Asio库和OpenSSL。

您可以在同一程序中使用TCP服务器和客户端进行通信

但不建议这样做:

  • 由于TCP服务器的原因,即使使用默认设置,也会向Windows防火墙发出警报
  • 这使您的应用程序更容易被窃听
  • 性能永远不会那么好+参见#4:
  • 为什么在自己的应用程序中使用TCP而不是使用函数参数进行通信?这就像在购物时自言自语
    是的,您可以将服务器和客户端代码放在同一个二进制文件中。但是没有理由使用TCP和SSL。你可以用一个匿名的袜子对。我不知道这个问题怎么会“太宽泛”这是一个简单的是/否答案,答案是肯定的。我认为这与P2P网络等应用程序相关。这就像在做三明治之前先把面包送到杂货店再回来:)对于#4,我见过一些多人游戏使用这种方法。如果应用程序协议以离散的时间步长处理,则TCP的开销可能没有影响。对于这些特殊情况,有人可能会认为引入分支逻辑会产生技术债务,但收效甚微。