2011-11-03 80 views
-1

我使用ioctl()来读取套接字程序中缓冲区中的字符数。然而有时候,当填充缓冲区被延迟时,它被ioctl()误解为消息的结尾。如果我要使用ioctl()来知道传入消息的长度,如何避免这种情况。此外,我不知道我将收到的消息的大小,因此我无法在静态缓冲区recv()中收到它。ioctl()用于C编程的套接字编程

感谢, 马诺

+0

你在套接字上使用流或数据报吗? –

+0

我正在使用SOCK_STREAM。 –

回答

3

让preferabley领导字节的报文的消息大小的一部分。即使消息的其余部分的前2个字节大小。这样你就知道你必须等到2个读取字节被读取 - 然后读取消息的大小。