请问一个有关Socket的SendStream函数的问题

haoel 2001-02-21 12:41:00
我的程序如下:

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);语句的问题。不知道我错在哪里了。
还请大家告诉我。
...全文
284 7 打赏 收藏 举报
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
haoel 2001-02-22
请大家再给我一点提示,好不好。
  • 打赏
  • 举报
回复
haoel 2001-02-21
不行啊。

对了,我的程序的思路是这样的。
由客户端请求发送文件——客户端发一个'$file$'的字串给服务器。
我在我服务器端的OnClientRead事件中写的这个程序。
我不知道那个出错代吗是什么意思?怎么改正。

procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket);
var
fStream : TFileStream;
begin
......
......
if (FileExists(FileName)) then
begin
fStream:=TFileStream.Create(FileName,fmOpenRead);
fStream.Position:=0;

Socket.SendStreamThenDrop(fStream);
end;
end;

  • 打赏
  • 举报
回复
LaoZheng 2001-02-21
服务端有多个Socket.是不是用错了Socket?
  • 打赏
  • 举报
回复
dragoncircle 2001-02-21
改用socket.connection[0].sendstream(fstream);试试
  • 打赏
  • 举报
回复
BaldZhang 2001-02-21
把源代码编译进去,跟踪一下不就得了。。。
  • 打赏
  • 举报
回复
haoel 2001-02-21
还是一样的错误!
  • 打赏
  • 举报
回复
xzisgood 2001-02-21
var
fStream : TFileStream;
begin
if (FileExists(FileName)) then
begin
fStream:=TFileStream.Create(FileName,fmOpenRead);
fStream.Position:=0;

Socket.SendStream(fStream);//这样可以么
end;
end;

  • 打赏
  • 举报
回复
发帖
Delphi
加入

5094

社区成员

Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
申请成为版主
帖子事件
创建了帖子
2001-02-21 12:41
社区公告
暂无公告