我有一个连接到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;
我不知道我做错了什么,我没有使用代理很多,并且它在工作中它不起作用,它不是一个工作项目,所以我无法调试它那里。
提前致谢。