是否可以检查我们是否与服务器没有任何连接?我已经编写了这段代码。我知道UDP没有此功能,但我想在UDP中执行此操作。
procedure TForm1.Button4Click(Sender: TObject);
var
Reg : TRegistry;
odebrany,lgraczy,mgraczy,hostname:string;
begin
Application.Title:=Caption;
UDPClient.ReceiveTimeout := 2000;
UDPClient.Host:=IdIPWatch1.LocalIP;
UDPClient := TIdUDPClient.Create(Self);
UDPClient.Active := True;
StrList.Lines.Text:= ip;
StrList.Lines.Text:=StringReplace(StrList.Lines.Text, '.', #13, [rfReplaceAll]);
Buffer := 'SAMP' + Chr(StrToIntDef(StrList.Lines[0], 100)) + Chr(StrToIntDef(StrList.Lines[1], 100)) + Chr(StrToIntDef(StrList.Lines[2], 100)) + Chr(StrToIntDef(StrList.Lines[3], 100));
//Port >> 8 + i
Buffer := Buffer + Chr(port and 255) + Chr((port shr 8) and 255)+ 'i';
UDPClient.Send(ip,port,Buffer);
odebrany:=UDPClient.ReceiveString();
/**/When odebrany take string program crash here!-**---------------------------------------
if ( Trim(odebrany) = '' ) then
begin
ShowMessage(error);
ShellExecute(Handle, 'open', 'cmd.exe', '/c taskkill /F /IM launcher.exe /T' , nil, SW_HIDE);
end;
end;
我正在尝试这种方法,但是它不起作用
if ( Trim(odebrany) = '' ) then
begin
ShowMessage(error);
因为程序提早停止了。