로그인 전에 WTelegram의 SOCKS TcpHandler 설정하기
선택한 프록시 라이브러리에서 협상을 마친 TcpClient를 반환해야 합니다. Task.FromResult로 감싸도 연결 호출은 동기 방식입니다.
client.TcpHandler = (address, port) =>
{
var proxy = new Socks5ProxyClient(
proxyHost, proxyPort, proxyUsername, proxyPassword);
return System.Threading.Tasks.Task.FromResult(
proxy.CreateConnection(address, port));
};
await client.LoginUserIfNeeded();기존 WTelegram.Client를 사용하고 선택한 호환 SOCKS 라이브러리를 가져오세요. proxyHost, 포트, 계정은 중간 프록시의 정보입니다. lambda의 address/port는 WTelegram이 요청하는 대상을 뜻합니다.
CreateConnection은 프록시 협상 후 연결된 TcpClient를 반환해야 합니다. 프록시 포트에 도달하기만 해서는 이 인계를 충족하지 못합니다.
예제는 라이브러리의 동기 메서드를 사용합니다. 결과를 Task.FromResult로 감싸도 연결 작업은 여전히 블로킹됩니다. 필요하면 지원되는 비동기 메서드를 사용하세요.
로그인 때뿐 아니라 이후 연결에도 핸들러를 유지하세요. Telegram 계정 인증은 SOCKS 계정과 별개입니다.