Delphi 的 TClientSocket、TServerSocket 没有处理 Proxy 属性。
可以自己写socket控件,或使用 Indy 的 Socket 控件。
NetMasters的 PowerSocket 有处理但没 Public 出来,如下是 Psocket 的连接时的代码。
RemoteAddress.sin_family := AF_INET; {Make connected true}
{$R-}
if Proxy = '' then
RemoteAddress.sin_port := htons( Port ) {If no proxy get port from Port property}
else
RemoteAddress.sin_port := htons( FProxyPort ); {else get port from ProxyPort property}
{$R+}
Wait_Flag := False; { Wait for synchronous response}
I := SizeOf( RemoteAddress ); { get size of remoteaddress structure}
{Connect to remote host}
I := Winsock.Connect( ThisSocket, RemoteAddress, I );
if ( I = INVALID_SOCKET ) then
ErrorManager( WSAEWOULDBLOCK );