我在寫一個工具來轉儲redis的rdb數據文件。我發送一個'同步'命令作爲一個奴隸保存。然後解析rdb到鍵,值。 但是,當從網絡直接讀取時,我無法解析rdb。當我將網絡數據寫入文件並對文件進行削減時,它運行良好。我不知道爲什麼。代碼解析網絡和文件是完全相同的。 解析網絡和解析文件有一些區別嗎?解析網絡和解析文件有一些區別嗎?
謝謝!
----------------更新------------------
問題解決:
這是我的錯,我不熟悉網絡編程。我用錯誤的方式讀取系統調用。
例如:
我想讀的網絡規模字節,我寫道:
nread = read(fd,buf,SIZE)
我假定NREAD等於大小。這對大部分時間閱讀文件很有效,但在大部分時間讀取網絡流時不起作用。 因此,我使用redis replication.c中的syncRead來代替。
感謝大家幫我解決問題!
這是兩種情況下的IO流。應該沒有區別。我會修改你的網絡代碼。 – 2012-04-26 11:09:33
您無法在網絡流中搜索。 – Jon 2012-04-26 11:09:50
明顯的問題是你如何解析? – 2012-04-26 11:10:56