Đặt SOCKS TcpHandler của WTelegram trước khi đăng nhập
Thư viện proxy được chọn phải trả về TcpClient sau khi thương lượng hoàn tất; Task.FromResult vẫn giữ lời gọi kết nối đồng bộ.
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();Dùng WTelegram.Client hiện có và nhập thư viện SOCKS tương thích đã chọn. proxyHost, cổng và tài khoản chỉ bên trung gian; address/port của lambda là các đích do WTelegram yêu cầu.
CreateConnection phải trả về TcpClient đã kết nối sau khi thương lượng với proxy. Chỉ tới được cổng proxy chưa đáp ứng việc bàn giao này.
Ví dụ dùng phương thức đồng bộ của thư viện. Lời gọi kết nối vẫn chặn ngay cả khi bọc kết quả trong Task.FromResult; dùng phương thức bất đồng bộ được hỗ trợ khi cần.
Giữ handler cho cả đăng nhập lẫn các kết nối về sau. Xác thực tài khoản Telegram vẫn tách biệt với tài khoản SOCKS.