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();

Naudokite esamą WTelegram.Client ir importuokite pasirinktą suderinamą SOCKS biblioteką. proxyHost, prievadas ir paskyra nurodo tarpininką; lambda funkcijos address/port yra WTelegram prašomi paskirties adresai.

CreateConnection po derybų su tarpiniu serveriu turi grąžinti prijungtą TcpClient. Vien tarpinio serverio prievado pasiekimas šio perdavimo neužtikrina.

Pavyzdyje naudojamas sinchroninis bibliotekos metodas. Ryšio iškvietimas vis tiek blokuoja, net jei jo rezultatas apgaubtas Task.FromResult; prireikus naudokite palaikomą asinchroninį metodą.

Palikite apdorojimo funkciją ir vėlesniems ryšiams, ne tik prisijungimui. Telegram paskyros autentifikavimas lieka atskiras nuo SOCKS paskyros.

Susiję straipsniai