首页 > 解决方案 > C++ 多聊天服务器

问题描述

我正在尝试在不使用线程的情况下编写多聊天服务器。我遇到了,select()但我很难理解如何读取客户端请求并在send()块和客户端套接字可能还没有准备好写入并且因此失去服务器并行 io 能力时立即发送它。

If(fd_isset(socket,&read_fds){
    Recv()
    SendMesgToRequestedClient()
}

我认为一个可能的解决方案是为每个客户端保存一个待处理消息的列表并继续发送它们,fd_isset(socket,&write_fds)但是我可能会使用大量内存而不是节省 CPU。

标签: c++c++11network-programming

解决方案


推荐阅读