Lef*_*ler 5 c++ sockets multithreading
我需要接受到同一端口的多个连接.我在C++中使用套接字,我想做像SSH这样的事情.我可以做一个ssh user @ machine"ls -lathrR /"并对同一台机器运行另一个命令,即使第一个仍在运行.
我怎样才能做到这一点?
谢谢.
fdu*_*uff 10
你想要的是一个多线程套接字服务器.
为此,您需要一个主线程打开一个套接字来监听(并等待传入的客户端连接).这必须进入某种类型的while循环.
然后,当客户端连接到它时,该accept()函数将解除阻塞,此时您需要通过将请求传递给将处理它的线程来提供客户端请求.
服务器端将循环返回并等待另一个连接,而前一个线程继续执行其任务.
您可以根据需要创建线程,也可以使用可能更高效的线程池(节省初始化新线程的时间).
看看这里了解更多细节.寻找多线程服务器套接字在网络上,具体bind(),listen()并accept()从服务器端.