我有一个连接到 udp 服务器的应用程序,当我在代理后面时,我似乎无法启动它。
这是我拥有的代码,当不在代理后面时工作正常。
function TfrmMain.SendCommand(ServerName, IP: String; Port: Integer; Command: String): String;
var
Udp : TIdUDPClient;
Count : Integer;
Response: String;
begin
Result := '';
Udp := TIdUDPClient.Create(nil);
try
try
Udp.Host := IP;
Udp.Port := Port;
if UseProxy then begin
Udp.TransparentProxy.Enabled := True;
Udp.TransparentProxy.Host := ProxyServer;
Udp.TransparentProxy.Port := ProxyPort;
Udp.OpenProxy;
end else begin
Udp.TransparentProxy.Enabled := False;
end;
Udp.Connect;
if Udp.Connected then begin
//Send Command and receive data...
end;
if UseProxy then begin
Udp.CloseProxy;
end;
Udp.Disconnect;
except
MessageBox(Handle, PChar('There was an error connecting to server ' + QuotedStr(ServerName) + '. '), 'Error', MB_ICONERROR);
end;
finally
Udp.Free;
end;
end;
我不知道我做错了什么,我没有与代理合作太多,它在工作中不起作用,而且它不是一个工作项目,所以我不能在那里调试它。
提前致谢。