用DELPHI 7  clientsocket  serversocket  控件进行编写
 client端发送文件  我自定义了协议 
代码如下
var
  buffer  : array[0..blocklen-1] of byte;
  filename : string;
  Ftrans :    file;
  i,numread,flen: Integer;
begin
    if  openfile.Execute  then
     begin
        filename  := trim(ExtractFileName(openfile.FileName));  // 先发送一个文件名  让服务端知道要接收的是一个文件
        buffer[0] := $7E;  //包头
        buffer[1] := $00;  // 功能码
        buffer[2] := length(filename);  //数据长度
        for   i := 0   to  length(filename)  do
          buffer[3+i-1] := ord(filename[i]);  //数据段
          buffer[3+length(filename)] :=  $16 ;  //包尾
       clientsocket1.Socket.SendBuf(buffer,sizeof(buffer));       assignfile(Ftrans,openfile.FileName); //再次组帧 ,发送一个文件
       reset(Ftrans);
       flen := filesize(Ftrans);
       numread := flen div 1024;
       buffer[0]:= $7E;
       buffer[1]:= $01;
       buffer[2]:= flen ;
       for i := 0 to  flen   do
         buffer[3+i-1] := ord(Ftrans[i]); //我这里在写入数据段的时候  编译发生了错误  好象不能这么定义  高手请教一下  文件里的内容要二进制发出去,那部分的数据段代码要着么写?!!!!
       buffer[3+filesize(Ftrans)] := $16;
       ClientSocket1.Socket.SendBuf(buffer,sizeof(buffer));
       showmessage( 'finished!' );
      end;
 end; 各位帮帮忙呀  谢谢了  我郁闷了很久了