一般的在socket通讯中,对于字符串的传递很简单用sendtext就可以完成,图象和文件的传递可以通过文件流和图象的转存自一个缓冲区buffer中然后在sendbuf就可以传递出去问题:    对于自定义的类型,比如记录
  type selftype =record
       name:string;
       projcode:string;
       tel:string;
       x:double;
       y:double;
  end;怎么完成客户和服务器的通讯?高手救我?

解决方案 »

  1.   

    我记得java中对于socket通讯或者applet,servlet通信,只要要传递的数据 支持 序列化 就可以传递。不知在delphi中能不能?
      

  2.   


    只需要人民币20元,你就可以获得本灌水机的程序和Visual C++源代码,并获得永久性技术支持。还等什么?灌水等着你!就在今夜!元宵佳节!(可怜我信誉)
      

  3.   

    存储struct到Stream中,再字节读取到buffer中就可以sendbuf了
      

  4.   

    SOCKET。SENDBUFFER(YOURRECORD,SIZEOF(YOURRECORD));
      

  5.   

    对啊,先分配足够的空间(就是你要发出的内容的大小)给一个指针p,然后
    初始化,然后赋值,然后sendbuffer就行了。
    比如
       Tmyrec=record
         i:integer;
         s:String[100];
         f:boolean;
       end;
    myrec :TMyrec;pmyrec:=@myrec;
    getmem(pmyrec,sizeof(Tmyrec));
    pmyrec^.i:=20;
    pmyrec^.s:='shangshang';
    pmyrec^.f:=true;
    socket.sendbuf(pmyrec^,sizeof(Tmyrec));
    freemem(pmyrec,sizeof(Tmyrec));
    这样就完成了发送。在接受时同样要先声明一个这样的缓冲区,然后强制转换成
    Tmyrec的指针去读就行了。方法很灵活,可以有很多中发送的方法,上面的代码我没有实验,你看看,大致思路就是这样的了。
      

  6.   

    直接使用sendbuf(yourrec,sizeof(yourrec));即可