#android #openfire #smack
#Android #openfire #ошибка
Вопрос:
Я пытаюсь подключиться к openfire server через Android, но это не сработало.
это ошибка
W/System.err: org.jivesoftware.smack.SmackException$ConnectionException: The following addresses failed: '192.168.3.24:5222' failed because: /218.68.250.118 exception: java.net.SocketTimeoutException: failed to connect to /218.68.250.118 (port 5222) from /192.168.232.2 (port 43000) after 12000ms
W/System.err: at org.jivesoftware.smack.tcp.XMPPTCPConnection.connectUsingConfiguration(XMPPTCPConnection.java:620)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.connectInternal(XMPPTCPConnection.java:895)
at org.jivesoftware.smack.AbstractXMPPConnection.connect(AbstractXMPPConnection.java:409)
at com.example.chatdemo02.LoginActivity.initConnection(LoginActivity.java:60)
at com.example.chatdemo02.LoginActivity.onCreate(LoginActivity.java:32)
at android.app.Activity.performCreate(Activity.java:7136)
at android.app.Activity.performCreate(Activity.java:7127)
W/System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
W/System.err: at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
at android.os.Handler.dispatchMessage(Handler.java:106)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
это мой код
// Create the configuration for this new connection
configBuilder = XMPPTCPConnectionConfiguration.builder();
configBuilder.setUsernameAndPassword("a", "123456");
try {
configBuilder.setConnectTimeout(6000);
configBuilder.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled);
configBuilder.setResource("Android");
configBuilder.setXmppDomain("192.168.3.24");
configBuilder.setHost("192.168.3.24");
configBuilder.setPort(5222);
configBuilder.setSendPresence(true);
}catch (org.jxmpp.stringprep.XmppStringprepException e){
e.printStackTrace();
}
connection = new XMPPTCPConnection(configBuilder.build());
try {
AndroidUsingLinkProperties.setup(getApplicationContext());
// Connect to the server
connection.connect();
// Log into the server
connection.login();
}catch (Exception e){
e.printStackTrace();
}
if(connection.isConnected()){
Intent intent = new Intent(this, MainpageActivity.class);
startActivity(intent);
}
Моя текущая ситуация
- моя система — Windows 10
- Я использую smack 4.3.1 и версию Openfire: 4.3.2
- Я открыл необходимый порт в брандмауэре
- мой Android и мой компьютер находятся в одной локальной сети
Я был в замешательстве по этому поводу в течение нескольких дней. пожалуйста, помогите мне
Комментарии:
1. Я не помню почему, но я столкнулся с некоторыми проблемами с последней версией smack, и я был вынужден понизить свой smack до 4.2.2, и все работало нормально. попытка понизить версию вашего smack может дать шанс.
2. @MahdiMoqadasi Спасибо за ваш ответ, я обнаружил, что это была проблема моего маршрутизатора, когда я подключал другой маршрутизатор, он работал.
3. Я сталкиваюсь с той же проблемой, используя Smack 4.3.4 и получая smackexception.connectionexception при подключении моего сервера чата. Когда я попытался подключиться к Spark в Windows 10, это сработало великолепно, но не повезло с моей библиотекой Android smack 4.3.4. Любое предложение, трюк или помощь будут оценены. Я даже пытаюсь с другим маршрутизатором, но безуспешно. Пожалуйста, помогите мне.