我用SendStream发送一个文件,遇到了麻烦。(50分)

  • 主题发起人 主题发起人 haoel
  • 开始时间 开始时间
H

haoel

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序如下:

var
fStream : TFileStream;
begin
if (FileExists(FileName)) then
begin
fStream:=TFileStream.Create(FileName,fmOpenRead);
fStream.Position:=0;

Socket.SendStreamThenDrop(fStream);
end;
end;

这是我Server端的一然程序,我的客户端可以完整接收所有的文件内容。
但我的Server端要报一个错:External exception C000001D

通过调试,我发现,是Socket.SendStreamThenDrop(fStream);语句的问题。不知道我错在哪里了。
还请大家告诉我。
 
SendStreamThenDrop(fStream)会在传送完所有字节后Close掉该Socket连接,出错肯定发生
在Socket.OnClose时,你再去看看。如果你不想这样的话,用SendStream就可以了。
 
我现在改成
Socket.SendStream(fStream);
也是一样的。还是这个错。我的机器的Pentium 133MHz/32M/Win95+Delphi5
 
能不能贴详细的代码?
 
不用手工建立,让流自动释放:
Socket.SendStream(TFileStream.Create(FileName,fmOpenRead))
 
多人接受答案了。
 
后退
顶部