我的应用程序是多用户回声聊天程序。如果客户端发送消息,服务器将发送给所有客户端,包括消息来源的客户端。它在 c 中实现。
服务器为每个新的客户端连接分叉一个进程。所有子进程都可以访问存储在共享内存中的所有客户端的套接字描述符
当有一个客户端时,消息会正确回显。当第二个客户端加入并发送消息时,它会正确地回显给两个客户端。
当第一个客户端发送消息时,它会正确地传输回第一个客户端。但是当尝试将该消息发送到第二个客户端时,它失败并出现错误文件描述符错误
同样,每个客户端都可以向之前连接的客户端和自身发送消息,但不能向后来连接的客户端发送消息
如何解决这个问题?