问题一、采用D7中的indy组件包做即时通讯,是采用idTCP还是idUDP?
问题二、用idUDPClient时,我想采用动态获取客户端机器IP,但运行时服务器端无接收反应,在设计状态下写死IP就可以正常运行,什么原因?
问题三、我在用idUDPServer和client做通讯测试的时候,client发送的时候是String,Server接收时用Adata.ReadBuffer,传递数据会偶尔出现乱码?是怎么回事?

解决方案 »

  1.   

    udp一般用于局域网,传输不稳定,所以出现乱码tcp用语广域网
      

  2.   

    乱码的问题解决了
    var    RecStr:TStringStream;
    begin
      RecStr:=TStringStream.Create('');
      RecStr.CopyFrom(Adata,Adata.Size);
      memMessageMon.Lines.Add(RecStr.DataString);
    用这种方式就可以搞定,没有乱码,
    还有第一个和第二个问题,请继续支援...分数不够我可以再开一个帖子的
      

  3.   

    问题一、采用D7中的indy组件包做即时通讯,是采用idTCP还是idUDP?
    : 用udp 否则网络,系统吃不消
    问题二、用idUDPClient时,我想采用动态获取客户端机器IP,但运行时服务器端无接收反应,在设计状态下写死IP就可以正常运行,什么原因?:可以动态获得的,取本机地址,但服务器地址是固定的,他的必须一次指定,动态改变不了包括端口号。
      

  4.   

    非常感谢 yq3woaini 的指点,打算周一结贴,90分送给你,10分送给其他帮我顶贴的朋友,如果不够可以再开贴送分