关于把文件写入到流中传送的有关问题
关于把文件写入到流中传送的问题
这里是发送文件
这里是接收文件
bufsize是一个常量,4096
接到的文件内容为空,是我代码哪里有什么错误?
欢迎指正
------解决方案--------------------
把代码发给我看一下,或许能找到问题。发站内短信,然后用QQ
------解决方案--------------------
说出来解决的方法,我也先知道
这里是发送文件
- Delphi(Pascal) code
var Buf:array[0..BufSize-1] of Char; Sendsize:longint; begin OpenDialog1.Execute; if OpenDialog1.FileName='' then exit; FS:=TFileStream.Create(OpenDialog1.FileName,fmOpenRead); FS.Seek(0,soFromBeginning);{移动指针到流的起始位置} if FS.Size<>0 then begin LeftSize:=FS.Size; while True do begin if LeftSize=0 then begin Break; end else begin if LeftSize<BufSize then begin SendSize:=LeftSize; end else begin Sendsize:=BufSize; end; FS.ReadBuffer(Buf,SendSize); ClientSocket1.Socket.SendBuf(Buf,SendSize); LeftSize:=LeftSize-SendSize; Sleep(10); end; end; end; FS.Free; end;
这里是接收文件
- Delphi(Pascal) code
ReceiveLen:=Socket.ReceiveLength; //这里居然等于0,是怎么回事 {接收文件} SaveDialog1.Execute; if SaveDialog1.FileName='' then exit; FS:=TFileStream.Create(SaveDialog1.FileName,fmCreate); FS.Seek(0,soFromBeginning);{移动指针到流的起始位置} Socket.ReceiveBuf(Buf,bufsize); FS.Write(Buf,ReceiveLen); FS.free;
bufsize是一个常量,4096
接到的文件内容为空,是我代码哪里有什么错误?
欢迎指正
------解决方案--------------------
把代码发给我看一下,或许能找到问题。发站内短信,然后用QQ
------解决方案--------------------
说出来解决的方法,我也先知道