【发布时间】:2011-02-21 04:02:50
【问题描述】:
我有几个关于 C 中的套接字库的问题。这是我将在我的问题中引用的一段 sn-p 代码。
char recv_buffer[3000];
recv(socket, recv_buffer, 3000, 0);
- 如何确定recv_buffer 的大小?我使用的是 3000,但它是任意的。
- 如果
recv()收到比我的缓冲区大的数据包会怎样? - 如何知道我是否已收到整条消息而无需再次调用 recv 并在没有收到任何内容时让它永远等待?
- 有没有一种方法可以使缓冲区没有固定的空间量,这样我就可以继续添加它而不必担心空间不足?也许使用
strcat将最新的recv()响应连接到缓冲区?
我知道这是很多问题,但我将非常感谢任何回复。
【问题讨论】: