我是个新手,我想用SOCKET来传送数据包,但是又不知道如何将数据打包!
如果有例子请各位高手给兄弟一份!

解决方案 »

  1.   

    const 
      MAX_LEN=2048;var
      iSen:integer;   //iSen发送出去的长度 
      iSize:integer;  //文件长度 最好是全局变量
      buf:array[1..MAXLEN]of char;
      senlen:integer;  //每次应该发送的长度
      ret:integer;     //实际发送的文件长度
      filen:TFileStream; //最好是全局变量   iSen:=0;
       while iSen<iSize do    
         begin
           FillChar(buf,MAX_LEN,0);
           if iSize-iSen>MAX_LEN then senlen:=MAX_LEN
             else senLen:=iSize-iSen;
           filen.Position:=iSen;
           filen.Read(buf,senLen);
           ret:=ClientSocket1.Socket.SendBuf(buf,senLen);
           inc(iSen,ret);
         end;