2012-10-28 79 views
0

我寫了一個簡單的服務器客戶端程序,其中服務器和客戶端使用命名pipes.Everything工作正常,但我有一個簡單的問題: 在客戶端部分我分配信息這將以這種方式發送到服務器char * msg = malloc(sizeof(char));然後我使用gets(msg)從用戶讀取它。最後iam使用write()函數將消息寫入管道。 現在在服務器部分,我也用malloc分配緩衝區,但我不知道read()函數的第三個參數應該是什麼......因爲我可以從man page中取消讀取的第三個參數是字節數你想閱讀,我認爲這是客戶端發送味精strlen。問題是,之前閱讀iam不知道this.Is有一種方法,使這項工作,或者我應該本質上使用MAX_SIZE用於服務器部分的緩衝區。 預先感謝您的時間和您的幫助:)服務器客戶端命名管道緩衝區大小

+1

在發送緩衝區之前,您可以發送預期的緩衝區長度。 – onon15

回答

0

唯一可能的解決方案是從上面的註釋中的onon15中提到的「在發送緩衝區之前發送緩衝區的長度」。

Iam寫這個答案來標記回答的問題。

謝謝onon15!

相關問題