通过TServerSocket和TClientSocket能实现两个客户端之间的文件传输吗?我已经在客户端成功显示了在线用户列表,有HANDLE和IP信息。如果这两个控件不能传输文件,那该用什么控件呢?

解决方案 »

  1.   

    可以传输文件啊!!!!
    同样是用send方法发送!
      

  2.   

    procedure TfrmChat.SendFile;
    var
      FileStream:TFileStream;
    begin
      FileStream:=TFileStream.Create(Open1.FileName, fmOpenRead);
      try
        NMStrm1.Host :=Address ;
        NMStrm1.FromName :=extractfileName(Open1.FileName);
        NMStrm1.PostIt(FileStream);
        frmmain.Send('T',UserHandle,datetimetoStr(Now)+#13+'系统消息: 已接收文件'+NMStrm1.FromName+#13,lbUser.Caption,frmmain.myID,ID,'1','');
        frmmain.DisplayText(BText.Lines,'已发送文件'+NMStrm1.FromName,'系统消息');
        SendMessage(BText.Handle,EM_SCROLL,SB_BOTTOM,0);
      finally
        FileStream.Free ;
        frmmain.Sent :=false;
      end;
    end;