Ορίστε το SOCKS TcpHandler του WTelegram πριν από τη σύνδεση λογαριασμού
Η επιλεγμένη βιβλιοθήκη proxy πρέπει να επιστρέφει 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, θύρα και λογαριασμός προσδιορίζουν τον ενδιάμεσο· τα address/port της lambda είναι οι προορισμοί που ζητά το WTelegram.
Το CreateConnection πρέπει να επιστρέφει συνδεδεμένο TcpClient μετά τη διαπραγμάτευση με τον proxy. Η πρόσβαση μόνο στη θύρα του proxy δεν παρέχει αυτή την παράδοση.
Το παράδειγμα χρησιμοποιεί σύγχρονη μέθοδο της βιβλιοθήκης. Η κλήση σύνδεσης εξακολουθεί να μπλοκάρει ακόμη κι αν το αποτέλεσμά της τυλιχτεί σε Task.FromResult· χρησιμοποιήστε υποστηριζόμενη ασύγχρονη μέθοδο όταν χρειάζεται.
Διατηρήστε τον handler τόσο για μεταγενέστερες συνδέσεις όσο και για τη σύνδεση λογαριασμού. Η ταυτοποίηση του λογαριασμού Telegram παραμένει ξεχωριστή από τον λογαριασμό SOCKS.