请问如何用winsock实现文件的发送和接收,有原码参考最好。
邮箱: [email protected]

解决方案 »

  1.   

    最近工作忙,很少上csdn了,给你发了一个,用到了TNMStrm和TNMStrmServ控件,Delphi自带的。最近两个月我也刚学会网络编程,呵呵~~已发过去,请注意接收~~~
      

  2.   

    TNMStrm和TNMStrmServ这两个控件Delphi5中有,但在Delphi7中没有,自已想办法解决。
      

  3.   

    ...send a file from a TServerSocket to a TClientSocket?  unit Unit1; interface uses 
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
      Dialogs, ScktComp, StdCtrls; type 
      TForm1 = class(TForm) 
        ClientSocket1: TClientSocket; 
        ServerSocket1: TServerSocket; 
        btnTestSockets: TButton; 
        procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket); 
        procedure FormCreate(Sender: TObject); 
        procedure FormDestroy(Sender: TObject); 
        procedure ClientSocket1Disconnect(Sender: TObject; 
          Socket: TCustomWinSocket); 
        procedure ClientSocket1Connect(Sender: TObject; 
          Socket: TCustomWinSocket); 
        procedure ServerSocket1ClientConnect(Sender: TObject; 
          Socket: TCustomWinSocket); 
        procedure btnTestSocketsClick(Sender: TObject); 
      private 
        FStream: TFileStream; 
        { Private-Deklarationen } 
      public 
        { Public-Deklarationen } 
      end; var 
      Form1: TForm1; implementation {$R *.dfm} procedure TForm1.ClientSocket1Read(Sender: TObject; 
      Socket: TCustomWinSocket); 
    var 
      iLen: Integer; 
      Bfr: Pointer; 
    begin 
      iLen := Socket.ReceiveLength; 
      GetMem(Bfr, iLen); 
      try 
        Socket.ReceiveBuf(Bfr^, iLen); 
        FStream.Write(Bfr^, iLen); 
      finally 
        FreeMem(Bfr); 
      end; 
    end; procedure TForm1.FormCreate(Sender: TObject); 
    begin 
      FStream := nil; 
    end; procedure TForm1.FormDestroy(Sender: TObject); 
    begin 
      if Assigned(FStream) then 
      begin 
        FStream.Free; 
        FStream := nil; 
      end; 
    end; procedure TForm1.ClientSocket1Disconnect(Sender: TObject; 
      Socket: TCustomWinSocket); 
    begin 
      if Assigned(FStream) then 
      begin 
        FStream.Free; 
        FStream := nil; 
      end; 
    end; procedure TForm1.ClientSocket1Connect(Sender: TObject; 
      Socket: TCustomWinSocket); 
    begin 
      FStream := TFileStream.Create('c:\temp\test.stream.html', fmCreate or fmShareDenyWrite); 
    end; procedure TForm1.ServerSocket1ClientConnect(Sender: TObject; 
      Socket: TCustomWinSocket); 
    begin 
      Socket.SendStream(TFileStream.Create('c:\temp\test.html', fmOpenRead or fmShareDenyWrite)); 
    end; procedure TForm1.btnTestSocketsClick(Sender: TObject); 
    begin 
      ServerSocket1.Active := True; 
      ClientSocket1.Active := True; 
    end; end.
      

  4.   

    这个我有,但我想直接用winsock,不用delphi已经做好的控件!
      

  5.   

    怎么用window的winsock.dll来实现
      

  6.   

    用windows的API函数怎么实现文件的传输,各位老大,帮忙啊!