gpt4 book ai didi

c++ - Boost::ASIO:使用两个进程的双向通信

转载 作者:可可西里 更新时间:2023-11-01 02:51:09 26 4
gpt4 key购买 nike

我想制作两个具有以下行为的应用程序(两个 linux 进程):

  • 将打开一个 TCP 服务器(在特定端口上),并且只会读取将由连接的客户端发送的数据。
  • 一个将向所有连接的客户端发送数据。

如果我使用线程(我只会共享 asio tcp::socket 对象),这会很容易,但由于某些原因我不能使用线程。

如何使用两个不同的应用程序实现这一点? (没有某些形式的 IPC)。

最佳答案

您甚至不需要两个进程,您可以将 async_writes 和 async_reads 发布到同一个消息循环,它们将得到处理。当然不是严格意义上的并行,但是如果您的环境限制使用线程(为什么?),这是最简单的选择(特别是如果不想使用任何 IPC)。公平地说,I/O 与程序执行并行发生,但您的完成处理程序不会并行调用,除非有更多线程正在执行循环。

关于c++ - Boost::ASIO:使用两个进程的双向通信,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37481093/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com