2011-11-03 79 views
-1

我使用ioctl()來讀取套接字程序中緩衝區中的字符數。然而有時候,當填充緩衝區被延遲時,它被ioctl()誤解爲消息的結尾。如果我要使用ioctl()來知道傳入消息的長度,如何避免這種情況。此外,我不知道我將收到的消息的大小,因此我無法在靜態緩衝區recv()中收到它。ioctl()用於C編程的套接字編程

感謝, 馬諾

+0

你在套接字上使用流或數據報嗎? –

+0

我正在使用SOCK_STREAM。 –

回答

3

讓preferabley領導字節的報文的消息大小的一部分。即使消息的其餘部分的前2個字節大小。這樣你就知道你必須等到2個讀取字節被讀取 - 然後讀取消息的大小。