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 والمنفذ والحساب الوسيط؛ أما address/port في lambda فهما الوجهات التي يطلبها WTelegram.

يجب أن يعيد CreateConnection كائن TcpClient متصلًا بعد التفاوض مع البروكسي. الوصول إلى منفذ البروكسي وحده لا يوفر هذا التسليم.

يستخدم المثال دالة متزامنة من المكتبة. تغليف نتيجتها في Task.FromResult لا يجعل الاتصال غير حاجب؛ استخدم دالة غير متزامنة مدعومة عند الحاجة.

احتفظ بالمعالج للاتصالات اللاحقة ولتسجيل الدخول معًا. تظل مصادقة حساب Telegram منفصلة عن حساب SOCKS.

مقالات ذات صلة