2014-11-20 10 views
5

Provo a inviare un codice (TLRequestAuthSendCode) ma non viene. In che cosa può esserci un problema?Difficoltà nella programmazione di messaggeria Telegram su C#

parte di codice:

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

ci mostrano un po 'di codice, e cercare di creare un [SSCCE] (http://www.sscce.org) –

+0

ha a risolverlo? –

risposta

0

È può iniziare con this, ma l'ho scritto in vb.net, non in C#.

Ti guiderà attraverso come iniziare a creare la tua API Telegram da zero.

Anche cercare di acquisire familiarità con la documentazione in linea, è difficile ma la spiegazione passo passo ho dato in quella link sopra sulla generazione tuo authkey, dovrebbe iniziare.

Good Luck

1

TcpClient tcpClient = new TcpClient();

Come ho provato il codice, per lo più sinceramente interessato a me come se il porto è stato bloccato o già in uso. Forse hai un problema di autorizzazione lì. Almeno non sono riuscito a ottenere un Socket per lavorare con il codice in quel modo. Inoltre non mi sono immerso nel tuo codice, ma stai usando la porta 443. Questa è una porta riservata con accesso limitato.

2

è possibile eseguire il debug del codice e dire se

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

Connections [0] ha un valore?

Io suggerirei di cambiare il codice per il seguente:

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

Non vedo dove il codice potrebbe rompere, forse una descrizione più dettagliata del problema sarebbe utile