客户端(C#)由socket发来一个字符串形式的XML
<?xml version="1.0" encoding="utf-8" ?>
<Message>  
  <head desc="test"/>
  <Query> 
     <name>prime</>    
     <sex>male</sex>    
     <duty>manager</duty>    
  </Query>
</Message>
服务器端用在Indy10中(delphi2007)的TIdTCPServer接收
procedure TForm.IdServerExecute(AContext: TIdContext);
var  sFile:TFileStream;FileSize,i:integer;s:string;sl:TStringList;str:TStrings;
   tbs:TBytes;  buf: TBytes;
begin
 try
  s := AContext.Connection.Socket.ReadLn;//========
  s := StringReplace(s,' ','',[rfReplaceAll]);
  if s <> '' then
    sTel := sTel + s
  else
    Memo1.text := '收到消息串为'+sTel;  except
  end;
但是程序在读最后一行,</Message>的时候Socket.ReadLn 这句就没反应了,
程序也没死机,请问怎么才能正确读到那个串呢