本人菜鸟级!刚学delphi,而且以前也没有搞过网络传输这方面的东西,对网络协议也不太了解。想请教一下大家,要做下面的程序需要学习那些东西。谢谢!!!!!
下面是程序的基本功能
一、服务器端:1、指定当天的传送文件。2、准备就绪指示(允许传送或不允许)。3、连接传送数据信 息指示(每个客户端下载情况)。4、日值文件。5、向各个客户端发送通知(如延迟传送的通知),6、登陆密码与用户设置。
二、客户端:1、连接就绪指示(如服务器未开或服务器未准备就绪)。2、下载保存。3、传输过程中的 数据传送指示(如:接收数据包,丢失数据包,传输速度,版面文件大小,已下载文件大小)。4日值文 件。5、传输中断报警。
主要就这些了,嘿嘿。或者把客户端做成开机自动运行文件,当服务器准备就绪允许传送后客户端自动下载。
是不是得学习tcp/ip协议,和indy控件啊?

解决方案 »

  1.   

    安全一点的话,做个ftp的C/S好了 ,用socket做的如果文件比较大话,经常出现问题的
      TCP/IP当然应该好好学了,INDY控件也应该学的,那是很值得好好学的东西。如果你做成ftp的话,那关于ftp的东西你也应该学的。UDP你最好也应该深入学学的!
      

  2.   

    tcp/ip协议就可以,不过要在服务器端进行设置,udp也改学习学习
      

  3.   

    给你一个实例:发送端
    procedure TForm1.Button2Click(Sender: TObject);
    var
     buf:tfilestream;
    begin
     buf := TFileStream.Create(edit5.Text, fmOpenRead);//edit5.text文件名(含路径)
     IdTCPClient1.Host:=edit1.Text;//ip  string;
     IdTCPClient1.Port:=1053;
     IdTCPClient1.Connect();
     IdTCPClient1.WriteLn(ExtractFileName(edit5.Text));
     IdTcpClient1.WriteStream(buf,true,true); //发送文件
     IdTcpClient1.Disconnect;
     buf.Free;
    end;
    接收端
    procedure Tfm_main.IdTCPServer1Execute(AThread: TIdPeerThread);
    var
     buf: TFileStream;
     FileName:string;
     size:longint;
    begin
    //  IdTCPServer1.Bindings:='0.0.0.0:1053'
    //  IdTCPServer1.active:=true;             //预先在属性设置好
     FileName:=athread.Connection.ReadLn;
     buf := TFileStream.Create(FileName, fmCreate);
     AThread.Connection.ReadStream(buf, -1, true);
     buf.Free;
    end;
    动手就是最好的学习