从 stdin 读取输入并准备好接收来自服务器的广播

Read input from stdin as well as ready to receive broadcast from server

我有一个服务器,它从连接的客户端监听并将其广播到所有其他连接的客户端。但另一方面,客户端应该监听正在发送的广播服务器,并且它必须能够从标准输入读取输入并发送到服务器进行广播。我有点困惑。我正在用 C++ 做这个。

有两种模式如何从多个文件描述符中读取

  • 按照 Phil Williams 的建议使用线程
  • 使用类似 select()poll() 的轮询机制。

我认为使用 select()poll() 是解决问题的更好方法。

文件描述符集是传递给 select() 的参数,它会等待其中一个准备好读取或写入。互联网上有很多如何使用 select().

的示例