var
  fStream : TFileStream;
begin
    if (FileExists(FileName)) then
      begin
              fStream:=TFileStream.Create(FileName,fmOpenRead);
              fStream.Position:=0;              Socket.SendStream(fStream);//这样可以么
      end;
end;

解决方案 »

  1.   

    改用socket.connection[0].sendstream(fstream);试试
      

  2.   

    服务端有多个Socket.是不是用错了Socket?
      

  3.   

    不行啊。对了,我的程序的思路是这样的。
    由客户端请求发送文件——客户端发一个'$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;