¿Cómo usar Proxy con TcpClient.ConnectAsync ()?
La compatibilidad con proxy HTTP en .NET en realidad no es compatible con las clases de nivel inferior como TcpClient o Socket. Pero quiero conectar un TCPServer (ip, puerto) a través de un proxy HTTP que admita el comando 'CONECTAR'.
Entonces necesito hacer los siguientes pasos:
Conéctate al proxy.EnviarCONNECT Host:Port HTTP/1.1<CR><LF>
Enviar<CR><LF>
Espera una línea de respuesta. Si contieneHTTP/1.X 200
, la conexión es exitosa.Lea más líneas de respuesta hasta recibir una línea vacía.Está conectado al mundo exterior a través de un proxy. Cualquier intercambio de datos posible con proxy.En realidad hago esto sin proxy
TcpClient _client;
NetworkStream _stream;
public static async Task<bool> ConnectAsync(string hostname, int port)
{
_client = new TcpClient();
await _client.ConnectAsync(hostname, port).ConfigureAwait(false);
_stream = conn._client.GetStream();
..... Do some stuff
// Connexion OK
return true;
}
¿Cómo puedo usar proxy y credenciales antes de conectar TcpClient?