AContext.Connection.Socket.ReadLn 读数据的问题
squir 2007-07-17 09:42:29 客户端(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 这句就没反应了,
程序也没死机,请问怎么才能正确读到那个串呢