请问一个有关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);语句的问题。不知道我错在哪里了。
还请大家告诉我。
...全文
355 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
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;

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧