我正在尝试通过 Internet 开发服务器到多客户端应用程序。其中客户端始终连接(假设 10)。连接的客户端摘要将显示在服务器端。从该客户端列表中,我将选择特定客户端并发送一些命令来执行特定任务。之后客户将向我发送相关输出。
如果任何客户端由于某种原因断开连接,客户端列表应该更新。
我正在尝试使用线程连接多个客户端。只有当我开发回声服务器时它才能正常工作。我试图从服务器端处理客户端,但由于接受多个客户端的无限循环,我坚持处理特定的客户端和线程。
我怎样才能解决这个问题......我可以使用任何好的解决方案或想法?还是我使用了错误的逻辑?
这就像通过互联网连接的不同 pc 之间的 IPC 机制。
最佳答案
由于您使用的是 Linux,因此您可以使用一些异步框架(事件循环):
这些库的一般理念是它们创建一个事件循环,就像 GUI 框架一样,由用户注册回调以处理与网络连接相关的事件(接受、断开连接、数据读取、数据写入。 ..) 或一般的 I/O。
这些库效率很高,通常基于epoll api,并隐藏了许多实现细节,因此它们相对易于使用。
关于c++ - 如何在c linux中通过服务器处理多个套接字客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21275980/