2013-02-18 143 views
1

基本上,我想获得服务器上文件的层次结构,并将其发送到已发送特定命令的连接客户端。我有我的代码正确编写,以便它检测命令,并将它去为了生成层次结构需要去的地方,但这里是我卡住的地方。有没有办法做到这一点,而不是发送一堆格式化的字符串(选项卡来指定一个文件夹更深,等)?我在想像一个列表,然后通过transport.write发送所述列表,但是当我做客户端没有收到它,或者至少dataReceived没有被触发。我不知道该怎么做。任何洞察力将不胜感激。扭曲 - 发送文件层次结构

+0

请发布您正在使用的实际代码,以便我们可以了解为什么'dataReceived'没有被调用。如果这么基本的东西不起作用,你可能有一个你需要解决的基本问题。在开始担心如何序列化层次结构之前,您需要能够发送简单的字符串。 – Glyph 2013-02-18 20:00:31

回答

0

你需要发送一个字符串到另一边。这意味着你需要以某种方式连续化你的层次结构。除非你已经有一些特殊的方式来处理你的应用程序中的二进制数据,否则我会建议使用一些标准。将您的层次结构保存为json,msgpack,protobuf,thrift或其他已经很好实施的内容。

然后,只需在另一边使用相同的库解压缩。

+0

这不可靠,因为首先你必须重新组装你的字符串。请参阅http://twistedmatrix.com/trac/wiki/FrequentlyAskedQuestions#Whyisprotocol.dataReceivedcalledwithwithonlypartofthedataIcalledtransport.writewith – Glyph 2013-02-18 19:59:45

+0

它会工作可靠,你只需要重新组装你的字符串;) – viraptor 2013-02-19 09:30:48