IDTCPServer接受问题!!!(ReadFromStack)(100分)

  • 主题发起人 主题发起人 暗夜中独舞
  • 开始时间 开始时间

暗夜中独舞

Unregistered / Unconfirmed
GUEST, unregistred user!
我的接受代码是这样的:
Len := AThread.Connection.ReadFromStack(); //会在线程中无穷等待
Memo1.Lines.Add('接受'+IntToStr(Len)+'个字节');
//if (Len<>0) then
//begin
SetLength(RecvStr, Len);
Move(AThread.Connection.InputBuffer.Memory^, PChar(RecvStr)^, Len);
AThread.Connection.InputBuffer.Remove(Len);
Memo1.Lines.Add(RecvStr);
//end;
卡在这一步了 Len := AThread.Connection.ReadFromStack(); //会在线程中无穷等待
结果就是有时候收的到 有时候收不到!!为什么啊!!!
 
1、不建议直接操作INDY的读写缓冲区,应改用ReadBuffer等方法
2、合理使用ReadTimeout
3、不要在线程中操作VCL控件
 
接受答案了.
 
后退
顶部