我正在 Delphi 7 中创建一个程序,它从服务器(不是我的)发送和接收数据包。它发送一个数据包,等待接收数据包,然后读取它。所有这些程序都可以正常工作,但是当我循环 sendPacket 程序(我需要这样做)时,它会冻结并给出套接字错误 10053。我认为这是因为服务器拒绝请求,因为在短时间内发送了太多数据包的时间。是否同时发送多个数据包?我尝试在发送数据包后放置一个 Sleep(1000) 。
问题:如何限制将要发送的数据包数量,或使其一次发送的数据包不超过 1 个?
begin
if pack[1]='bf'
then
if pack[3]='-1'
then
Label2.Caption:='Not Found'
else
begin
found:=true;
while found=true do
begin
Pickle.sendPacket('%xt%s%u#bf%'+Pickle.intRoom+'%122868290%');
room:= pack[3];
Label2.Caption:='Found at the '+room;
if room = '-1'
then
begin
Label2.Caption:='Left the server';
found:=false;
end;
end;
end;
end;