Asmack 18 连接:google.com:5222 异常:无法连接到 talk.google.com 远程服务器超时
Posted
技术标签:
【中文标题】Asmack 18 连接:google.com:5222 异常:无法连接到 talk.google.com 远程服务器超时【英文标题】:Asmack 18 connection : google.com:5222 Exception: Could not connect to talk.google.com remote-server-timeout 【发布时间】:2013-11-29 15:08:02 【问题描述】:我正在尝试使用 asmack 18 连接到 gtlak 服务器以进行 XMPP 连接。
public static final String HOST = "talk.google.com";
public static final int PORT = 5222;
public static final String SERVICE = "gmail.com";
ConnectionConfiguration connConfig = new ConnectionConfiguration(HOST, PORT, SERVICE);
XMPPConnection connection = new XMPPConnection(connConfig);
try
//Connect to the server
connection.connect();
connection.login("xxxxxxxx@gmail.com", "password");
// Set the status to available
Presence presence = new Presence(Presence.Type.available);
connection.sendPacket(presence);
//xmppClient.setConnection(connection);
Log.d("connection","connection successfull");
catch (XMPPException ex)
connection = null;
Log.d("connection","connection fail");
//Unable to connect to server
但它给出了超时错误。 talk.google.com:5222 例外:无法连接到talk.google.com:5222。; :远程服务器超时(504) -- 引起:java.net.UnknownHostException:talk.google.com
【问题讨论】:
【参考方案1】:阅读自述文件 =) http://asmack.freakempire.de/0.8.9/README
静态代码
为了在 android 上正常工作,您需要注册 Smack 的 XMPP Providers and Extensions 手动初始化一些静态代码 在您执行任何 XMPP 活动之前阻止。打电话 SmackAndroid.init(Context)(在 org.jivesoftware.smack 中)会这样做 给你。
SmackAndroid.init(getApplicationContext());
ConnectionConfiguration connConfig = new ConnectionConfiguration("talk.google.com", 5222, "gmail.com");
...
.
【讨论】:
以上是关于Asmack 18 连接:google.com:5222 异常:无法连接到 talk.google.com 远程服务器超时的主要内容,如果未能解决你的问题,请参考以下文章
以安全的方式重用 asmack 连接或在断开连接(包括断开的 TCP 连接)的情况下重新创建它?
aSmack连接server异常smack.SmackException$ ConnectionException thrown by XMPPConnection.connect();