【发布时间】:2012-10-07 13:06:41
【问题描述】:
我正在使用 C++ TCP/IP 套接字。根据我的要求,我的客户端必须连接到服务器并读取它发送的消息(这真的很新,不是吗)但是......在我的应用程序中我必须等待一段时间(通常为 1 - 2 小时) 在我真正开始阅读消息(通过 recv() 或 read())之前,服务器仍然继续发送消息。
我想知道缓冲区的容量是否有限制,以防这些消息未被读取,以及谁的物理内存用于缓冲这些消息?发件人还是收件人?
【问题讨论】:
-
这似乎是一个愚蠢的要求。当客户端的缓冲区空间已满时,TCP 流可能会在服务器处阻塞。然后服务器缓冲区空间将被未发送的消息填满,影响其他客户端。你能提供更多细节吗?不能在客户端用户空间缓存消息并在等待时间之后处理它们吗?
标签: c++ sockets buffer tcpclient tcpserver