我想通過TCP發送目錄樹結構。樹可能在子目錄中。我不想發送實際的內容,但或多或少地發送一個列表在一個字節流中。這樣做的最好方法是什麼?通過tcp轉發目錄樹的最有效方式是什麼? C++
0
A
回答
0
我認爲你最好的選擇是效率(我假設你的意思是你正在尋找一個解決方案,它需要發送相對於其他解決方案的少量字節),可讀性和可移植性就像JSON 。
{"dir":"/","children":
[{"dir":"bin","children":
[{"file":"bash"},
{"file":"csh"}]
},
{"dir":"home","children":null}]}
0
「最佳」有很多解釋取決於情況。如果您可以提供一種格式,使您的客戶(TCP接收器)更容易使用您的數據,那麼這可能是一個好主意。
通常我認爲最好的是最容易理解的方式。例如,XML表示會很好,因爲XML無處不在 - 每個人都知道(或者他們應該)。有一百萬個COTS庫可以處理它,並且它是衆所周知的。
XML本身也可以使實體包含其他實體,並且默認情況下在節點之間具有父/子 - 因此該格式將非常好地反映目錄結構。
xml的缺點是它非常冗長。如果您願意處理額外的複雜性(並且文件大小凸輪在網絡應用程序中非常重要),您可以構建一個平面文件格式。如果您打算使用平面文件表示法,請考慮如何在單個數據庫表(名稱,文件/文件夾,parent_directory等)中構造數據。
1
要發送的樹,只是遞歸執行以下操作:
髮根,然後將其子女。
相關問題
- 1. 什麼是列出目錄最有效的方式?
- 2. 通過TCP發送序列化目錄樹
- 3. 通過WCF發送通用庫的最佳方式是什麼?
- 4. 什麼是記錄極少量數據的最有效方式?
- 5. 通過電線發送OData有效載荷的最有效方式是什麼? 「密集的JSON?」
- 6. 發現現有項目的最佳方式是什麼?
- 7. 通過jQuery發送PHP數組的最佳方式是什麼?
- 8. 通過派送發送java.lang.Class的最佳方式是什麼?
- 9. 什麼是通過MPI發送OPENCV Mat的最佳方式
- 10. 打印AVL字符串樹的最有效方法是什麼?
- 11. 什麼是在Python中遍歷樹的最有效方法?
- 12. 什麼是通過字節流中途添加數據的最有效方式?
- 13. 使用C#通過網絡發送文件的最佳方式是什麼?
- 14. 步行目錄樹的Python方式是什麼?
- 15. 什麼是通過HTTP通過base64編碼發送文件的最佳方式
- 16. 通過電線發送大量數據的有效方式是什麼?
- 17. 在C++中反序列化樹的最快方式是什麼?
- 18. 基於元素屬性過濾dom樹的最有效方法是什麼?
- 19. 最佳實踐 - 什麼是觀看目錄的最佳方式
- 20. WPF:將項目添加到ListView的最有效/最快的方式是什麼?
- 21. 什麼是最快和最有效的方式來批量刪除hbase記錄
- 22. 扭轉BitArray順序的最有效方法是什麼?
- 23. 通過UDP傳輸數據最小化的最有效方法是什麼?
- 24. 什麼是從目錄獲取csv文件的最佳方式?
- 25. 什麼是有效的方式對現有的系統登錄
- 26. 創建通過網絡發送整數的有效方法。 TCP
- 27. 從樹(圖)中獲取有序列表的最有效方法是什麼?
- 28. 什麼是將C#項目文件轉換爲Objective C類的最佳方式
- 29. 什麼是在JavaScript中通過字符串的字符最有效的方法?
- 30. 什麼是存儲分析信標的最有效方式?
定義「最佳」 .. –
問問你自己 - 什麼是收拾那棵樹成字節數組的最有效方式。之後,它會很容易。 –
我不會同意這一點。如果他使用字節緩衝區進行傳輸,他將不得不擔心字節順序,字節打包等。這是好的,如果他明白,雖然:)它肯定是最有效的方式數據大小明智。 –