请问: 我在Delphi7里面使用ClientSocket组件写如下代码: ClientSocket1.Socket.SendText(Edit2.Text); 发送到服务器端: 服务器端用如下代码接受: Memo1.Lines.Add(Socket.ReceiveText); 接受的内容完全正常,但是在Delphi2009版中使用以上代码为什么不行啊?服务器端接受的都是乱码>?? 请各位大哥帮帮我,俺是新手,給俺详细讲解一下是什么原因造成的,有什么方法可以解决这个问题?

解决方案 »

  1.   

    不清楚,看看delphi2009的socket.SendText函数有什么不同
    也可能是字符集的问题
      

  2.   

    是ReceiveText的问题。function ReceiveText(SOcket:TCustomWinSocket):AnsiString;
    begin
      SetLength(Result,Socket.ReceiveBuf(Pointer(Nil)^,-1));
      SetLength(Result,Socket.ReceiveBuf(PAnsiChar(Result)^,Length(Result));
    end;Memo1.Lines.Add(Socket.ReceiveText); 
    改为:
    Memo1.Lines.Add(ReceiveText(Socket));