0

TCP 聊天服务器对并发服务使用轮询方法。客户端 A 不断发送大量数据。Chatserver 尝试将数据从客户端 A 发送到客户端 B 和 C。但是,客户端 B 和 C 没有从其读取缓冲区中读取。chatserver、client A、client B 和 client C 的读写缓冲区会发生什么情况。有两种情况 1. Chatserver 有阻塞套接字。2. Chatserver 有非阻塞套接字。

4

1 回答 1

0

如果您在谈论 TCP,则接收方的套接字接收缓冲区已填满,因此发送方的套接字发送缓冲区已填满,因此发送方要么被阻塞(在阻塞模式下),要么在非阻塞模式下返回 -1 errno == EAGAIN/EWOULDBLOCK

如果您在谈论 UDP,则数据报将被丢弃。

于 2013-05-14T00:34:46.717 回答