2014-08-27 5 views
1

J'essaie d'utiliser Télégramme Java API https://github.com/ardock/telegram-api et j'ai commencé avec un certain appel RPC simple:Télégramme Java API- problème de connexion socket

SampleApiState apiState = new SampleApiState(connections); 
TLRequestAuthCheckPhone checkRequest = new TLRequestAuthCheckPhone("+1234567890"); 
TelegramApi api = new TelegramApi(apiState, new ApplicationInfo(), 
      new ApiCallback() { 
       @Override 
       public void onUpdatesInvalidated(TelegramApi api) { 
        // TODO Auto-generated method stub 
        Log.i(TAG, "onUpdatesInvalidated"); 
       } 

       @Override 
       public void onAuthCancelled(TelegramApi api) { 
        // TODO Auto-generated method stub 
        Log.i(TAG, "onAuthCancelled"); 
       } 

       @Override 
       public void onUpdate(TLAbsUpdates updates) { 
        // TODO Auto-generated method stub 
        Log.i(TAG, "onUpdate"); 
       } 
      }); 
    TLCheckedPhone checkedPhone = api.doRpcCall(checkRequest); 

Et voici journal:

11524-11580/com.example.tltest W/System.err﹕ java.net.SocketException: socket failed: EACCES (Permission denied) 
11524-11580/com.example.tltest W/System.err﹕ at libcore.io.IoBridge.socket(IoBridge.java:576) 
11524-11580/com.example.tltest W/System.err﹕ at  java.net.PlainSocketImpl.create(PlainSocketImpl.java:201) 
11524-11580/com.example.tltest W/System.err﹕ at java.net.Socket.checkOpenAndCreate(Socket.java:664) 
11524-11580/com.example.tltest W/System.err﹕ at java.net.Socket.connect(Socket.java:808) 
11524-11580/com.example.tltest W/System.err﹕ at org.telegram.mtproto.transport.PlainTcpConnection.<init>(PlainTcpConnection.java:32) 
11524-11580/com.example.tltest W/System.err﹕ at org.telegram.mtproto.pq.Authorizer.doAuth(Authorizer.java:198) 
11524-11580/com.example.tltest W/System.err﹕ at org.telegram.api.engine.TelegramApi$ConnectionThread.waitForDc(TelegramApi.java:842) 
11524-11580/com.example.tltest W/System.err﹕ at org.telegram.api.engine.TelegramApi$ConnectionThread.run(TelegramApi.java:907) 
11524-11588/com.example.tltest I/System.out﹕ api#1001#Uploader:UploadFileThread iteration 
11524-11580/com.example.tltest W/System.err﹕ Caused by: libcore.io.ErrnoException: socket failed: EACCES (Permission denied) 
11524-11580/com.example.tltest W/System.err﹕ at libcore.io.Posix.socket(Native Method) 
11524-11580/com.example.tltest W/System.err﹕ at libcore.io.BlockGuardOs.socket(BlockGuardOs.java:181) 
11524-11580/com.example.tltest W/System.err﹕ at libcore.io.IoBridge.socket(IoBridge.java:561) 
11524-11580/com.example.tltest W/System.err﹕ ... 7 more 
11524-11580/com.example.tltest I/System.out﹕ TransportRate:onConnectionFailure #1 
11524-11580/com.example.tltest I/System.out﹕ TransportRate:Transport: #1 173.240.5.1:443 #1.0 
11524-11580/com.example.tltest I/System.out﹕ TransportRate:tryConnection #1 

Après échec de la connexion, il essaie de se connecter encore et encore, mais pas très bien. Je n'ai pas pu trouver quelle est la raison et comment résoudre ce problème. Peut-être que quelqu'un a eu le même problème? Sera très reconnaissant pour de l'aide)

+0

Les seuls autres exemples d'une exception comme celui-ci apparaissent dans les applications sous Android, et cela ne * semble * comme une application Android, mais je ne suis pas sûr à 100%. S'agit-il d'une application Android ou d'une autre application de bureau autonome? – Makoto

+0

oui, je suis en train de travailler avec cette API dans l'application Android – greenfrvr

Répondre

1

De l'exception que vous avez posté, il semble que ce soit une application Android et c'est un problème d'autorisation.

java.net.SocketException: socket failed: EACCES (Permission denied) 

Essayez d'ajouter ceci au fichier manifeste:

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
+0

merci beaucoup, oubliez complètement les autorisations) – greenfrvr