关于TIdTCPClient的问题 (100分)

  • 主题发起人 主题发起人 panduola
  • 开始时间 开始时间
P

panduola

Unregistered / Unconfirmed
GUEST, unregistred user!
我用TIdTCPClient作了一个客户端。服务端用别的语言写成,不去关心。我是这样写的代码
with TIdTCPClient.Create(nil) do
try
Host := IM.ServerIP;//服务端ip不会错
Port := IM.ServerPort;、/服务端端口不会错
try
Connect;
WriteBuffer(Buf,Sizeof(Buf));
ReadBuffer(ReTurnPa,Sizeof(ReTurnPa));
Disconnect;
except
。。。。。
end;
finally
free;
end;
上面定义不会错的。只是服务端接收到WriteBuffer(Buf,Sizeof(Buf))的包,发送完回执就断开。但有时候我的ReadBuffer(ReTurnPa,Sizeof(ReTurnPa))时不知是来不及接收还是怎么的,报错(10054 connect reset)。服务端必须断开。请问我怎么可以避免这样的错误!
 
服务器主动断开,你还用Disconnect干什么?
 
是不是你一旦writebuffer后服务器就disconnect了
 
当然出问题,都没接收你就主动断开了
看看Indy的Sample就明白了
 
多人接受答案了。
 
后退
顶部