0

TCP 経由でディレクトリ ツリー構造を送信しようとしています。ツリーはサブディレクトリにある可能性があります。実際のコンテンツを送信したくはありませんが、多かれ少なかれ、1 つのバイト ストリームでリストを送信します。これを行う最善の方法は何ですか?

4

3 に答える 3

1

ツリーを送信するには、次の手順を再帰的に実行します。

ルートを送信し、次にその子を送信します。

于 2012-06-01T19:43:28.153 に答える
0

「ベスト」には、シナリオに応じて多くの解釈があります。クライアント(TCPレシーバー)がデータを簡単に利用できる形式を提供できるのであれば、それはおそらく良い考えです。

通常、私は最善を最も理解しやすい方法だと思います。たとえば、XMLはどこにでもあるので、XML表現は良いでしょう-誰もがそれを知っています(またはそうすべきです)。それを処理するCOTSライブラリは100万あり、よく知られています。

XMLは本質的にエンティティに他のエンティティを含めることができ、デフォルトではノード間に親/子があります。そのため、この形式はディレクトリ構造を非常によく反映します。

xmlの欠点は、非常に冗長であるということです。余分な複雑さを処理する場合は、はるかに小さいフラットファイル形式を構築できます(ネットワークアプリケーションではファイルサイズが非常に重要です)。フラットファイル表現を使用する場合は、単一のデータベーステーブル(名前、ファイル/フォルダー、parent_directoryなど)でデータを構造化する方法を検討してください。

于 2012-06-01T19:42:50.390 に答える
0

効率性(他のソリューションに比べて少数のバイト数を送信する必要があるソリューションを探していることを意味すると仮定します)、読みやすさ、および移植性に対する最善の策は、JSONのようなものだと思います。

{"dir":"/","children":
  [{"dir":"bin","children":
     [{"file":"bash"},
      {"file":"csh"}]
   },
   {"dir":"home","children":null}]}
于 2012-06-01T20:02:21.087 に答える