【问题标题】:Telegram Java API- socket connection issue [duplicate]Telegram Java API-套接字连接问题[重复]
【发布时间】:2014-10-21 02:07:24
【问题描述】:

我正在尝试使用 Telegram Java API https://github.com/ardock/telegram-api 我从一些简单的 RPC 调用开始:

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

这里是日志:

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

连接失败后,它一次又一次地尝试连接,但不是很成功。我不知道是什么原因以及如何解决这个问题。也许有人有同样的问题?将非常感谢一些帮助)

【问题讨论】:

  • 此类异常的唯一其他示例出现在基于 Android 的应用程序中,这确实似乎像一个 Android 应用程序,但我不能 100% 确定。它是 Android 应用程序,还是其他一些独立的桌面应用程序?
  • 是的,我正在尝试在 Android 应用中使用此 API

标签: java telegram


【解决方案1】:

从您发布的异常来看,它似乎是一个 android 应用程序,这是一个权限问题。

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

尝试将其添加到清单文件中:

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

【讨论】:

  • 非常感谢,完全忘记权限)
猜你喜欢
  • 2019-10-21
  • 1970-01-01
  • 2017-04-15
  • 1970-01-01
  • 2021-02-04
  • 2016-04-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多