IdUdpclient 向服务器发送消息后,服务器返回消息给客户端

 IdUdpclient 向服务器发送消息后,服务器返回消息给客户端,代码如下:
 with IdUDPClient1 do
  begin
    Host := '192.168.0.18';
    Port := 3000;
    Send('GET_DATE_LIST');
    s := ReceiveString();
    ShowMessage(s);
  end;
但是返回的不是服务器的数据字符串,本应该返回“Result line1,line2”,但是一直返回的确实TLclient,这个是什么问题,如何解决呢?
若如下代码:
  with IdUDPClient1 do
  begin
    Host := '192.168.0.18';
    Port := 3000;
    Send('GET_DATE_LIST');
     ReceiveBuffer(buf,-1);
     ShowMessage(StringOf(buf));
  end;
报错"Range check error";
客户端应该如何发送数据后,接受服务器返回的消息呢?

http://www.youtube.com/watch?v=ony0Ln3xEpg