6
在套接字库中调用recv时,我的recv缓冲区应该有多大
我对C语言中的套接字库有一些疑问。这是我在问题中将参考的一小段代码。 char recv_buffer[3000]; recv(socket, recv_buffer, 3000, 0); 我如何确定要使recv_buffer多大?我正在使用3000,但是它是任意的。 如果recv()收到比我的缓冲区大的数据包怎么办? 我怎么知道我是否收到了整个消息而又没有再次调用recv,并且在什么都没收到的情况下让它永远等待? 有没有一种方法可以使缓冲区没有固定的空间,这样我就可以继续添加缓冲区而不必担心空间不足?也许strcat用于连接recv()对缓冲区的最新响应? 我知道很多问题合而为一,但是我将不胜感激。