具有多个保持活动连接的C ++套接字编程

时间:2019-07-16 05:12:29

标签: c++ multithreading

我正在设计用于某些消息传递协议的后端服务器。在该程序中,有一台主服务器和多台服务器(我将它们称为辅助服务器)。主服务器负责保持辅助服务器之间的数据一致性,因此,主服务器需要始终连接到所有辅助服务器(保持活动状态)。

当我使用C ++时,我正在使用套接字编程。主服务器的主要作用是侦听辅助服务器发出的请求,并偶尔向它们提供信息。我不知道以下两种方法中的哪一种更适合我的程序:

  1. 在开始时为每个辅助服务器连接都创建了一个线程,以便每个线程一直在侦听它所连接的辅助服务器。保持活动状态,每当主服务器需要将数据提供给辅助服务器时,就产生一个新线程(或为此使用线程池?)来处理任务。

  2. 主线程最初连接到所有辅助服务器。使用select()(或poll()),主线程可以同时侦听所有连接,并且每当从辅助服务器发出新请求时,请使用线程池来处理任务。

0 个答案:

没有答案