M
mill666
Unregistered / Unconfirmed
GUEST, unregistred user!
今天发现Indy TIdTcpserver的一个很奇怪问题啊:
比如说客户端发送了如下的字符串:1234567890
然后我在Indy TIdTcpserver的Execute事件里面只读取4个字符法:
buf:string;
buf:=athread.connection.readstring(4);
form1.memo1.lines.add(buf);
这个时候你会发现form1.memo1里面显示了:
1234
5678
好像读了2次的感觉啊【剩下的两个90估计是没有达到4个字符,TIdTcpserver估计在那里使劲等待了】;
我想分步骤读取的,它怎么一下子给读出来了;
为什么会读出这么多啊??按理说我只读取4个字符啊,readstring(4)的啊。
我用的是delphi 7里面自带的Indy,估计是indy 9吗??
比如说客户端发送了如下的字符串:1234567890
然后我在Indy TIdTcpserver的Execute事件里面只读取4个字符法:
buf:string;
buf:=athread.connection.readstring(4);
form1.memo1.lines.add(buf);
这个时候你会发现form1.memo1里面显示了:
1234
5678
好像读了2次的感觉啊【剩下的两个90估计是没有达到4个字符,TIdTcpserver估计在那里使劲等待了】;
我想分步骤读取的,它怎么一下子给读出来了;
为什么会读出这么多啊??按理说我只读取4个字符啊,readstring(4)的啊。
我用的是delphi 7里面自带的Indy,估计是indy 9吗??