socket 传送文件 我想把 文件名和内容一起传送 该如何做? (50分)

  • 主题发起人 主题发起人 火球
  • 开始时间 开始时间

火球

Unregistered / Unconfirmed
GUEST, unregistred user!
用 ClientSocket 控件
是不是在文件流 内容前面加上 文件名?
以下两个函数该如何加上文件名一起传送?
Socket.SendStream(tmpstream);
Socket.SendBuf(buf,count);
谢谢了 只有这么多分了
 
我是这样作的:
先把文件压缩,随便起名, 再传;对方接到,保存(随便起名),解压缩就行了
 
你可以前面20个字节装文件名,后面的装文件内容,服务器端收到后先解出前面的文件名,然后创建文件,然后把后面的内容写进去不就完事了吗?
 
我就是不知道该怎么把文件名加上啊
 
不用加,我是这样挺方便的:
先把文件压缩,随便起名, 再传;对方接到,保存(随便起名),解压缩就行了
 
把文件名也加入到buffer中传递啊,可以用buffer stream将文件名,以及文件长度,甚至加中间加一些,然后加入文件内容,而接收放对流分解就可以了吧,
 
简单的方法是:
先把文件内容写入STREAM,然后再写一个固定长度的字符串(比如255)到STREAM的尾部。
字符串里面就是文件名(加路径都可以了,哈哈),
接收方收到后,先从STREAM尾部读取固定长 N 的字符串,然后STREAM.SIZE:=STREAM.SIZE-N
剩下的就是文件内容了。
 
后退
顶部