2014-11-20 13 views
5

Próbuję wysłać kod (TLRequestAuthSendCode), ale nie nadchodzi. W czym może być problem?Trudności w programowaniu telegramu komunikatora na C#

Część kodu:

TLContext tlContext = new TLApiContext(); 
TcpClient tcpClient = new TcpClient(); 
tcpClient.Connect(connections[0].getAddress(), (int)connections[0].getPort()); 
TLRequestAuthSendCode tlRequestAuthSendCode = new TLRequestAuthSendCode("+79241652563", 
0, 19114, "1e489fd15dcff313e5b3e7a08e8fc791", "en"); 
tlRequestAuthSendCode.serializeBody(new StreamWriter(tcpClient.GetStream())); 

Link: https://github.com/egor-st-dev/Sharpogram/blob/master/Sharpogram/RequestApiId.cs

+2

pokazać nam jakiś kod i spróbować stworzyć [SSCCE] (http://www.sscce.org) –

+0

pan go rozwiązać? –

Odpowiedz

0

You można zacząć z this, ale napisałem go na vb.net, nie C#.

Przeprowadzi Cię przez proces tworzenia własnego Telegram-API od zera.

także spróbować i zapoznać się z dokumentacją on-line, to ciężko ale krok po kroku wyjaśnienia dałem w tym link powyżej na generowania authkey powinno Ci zacząć.

Powodzenia

1

TcpClient tcpClient = new TcpClient();

jak próbowałem kodu, to przeważnie bardziej nastawiają się na mnie, jakby port był albo zablokowana lub już w użyciu. Może masz tam problem z uprawnieniami. Przynajmniej nie udało mi się uzyskać gniazda do pracy z takim kodem. Również nie zanurkowałem głęboko w kodzie, ale używasz portu 443. Jest to zarezerwowany port z ograniczonym dostępem.

2

można debugować kod i powiedzieć, czy

tcpClient.Connect(connections[0].getAddress(),

Połączenia [0] ma wartość?

Sugeruję zmienić swój kod na następujący:

 public void run() { 
     connections = new ConnectionInfo[]{ 
      new ConnectionInfo(1, 0, "149.154.167.40", 443) 
     }; 

     apiState = new ApiState(connections); 
     doReqCode(connections); 

     private void doReqCode(connections){ 

     var args = new SocketAsyncEventArgs(); 

nie widzę gdzie kod może pęknąć, może bardziej szczegółowy opis problemu byłoby pomocne

Powiązane problemy