2015-10-21 35 views
0

我有一個服務器通過套接字連接發送文件到我的客戶端。發送的消息是一個包含有效載荷長度和有效載荷本身的結構。C++ recv套接字與更小的緩衝區

問題是,如果有效負載有270字節,而我的緩衝區只有256,當我再次調用接收並追加第一次接收時接收到的嚴格有效負載與第二次獲得的輸出文件get這些之間的一些隨機數據。

例如,我送「快速的棕色狐狸跳過懶狗」和「過度」將會寫入該文件的緩衝區結束:「快速的棕色狐狸跳過了%& $ &#57f- 6 $ +懶狗「

+1

您可以使用'strcat()'追加? **不要!** read()和recv()不會給你以null結尾的字符串。相反,讓你的程序記住兩個塊的大小。 – wildplasser

+1

向我們顯示代碼。 –

回答

2

在用第二次接收到的字符串附加字符之前,用NULL字符'\ 0'終止第一次收到的字符串。