XMPPError connected to chat.facebook.com (Permission denied) login to facebook chat with asmack
Posted
技术标签:
【中文标题】XMPPError connected to chat.facebook.com (Permission denied) login to facebook chat with asmack【英文标题】:XMPPError connecting to chat.facebook.com (Permission denied) logging in to facebook chat with asmack 【发布时间】:2011-08-17 08:02:36 【问题描述】:您可能知道,没有一个关于如何使用 asmack 库正确登录 Facebook 的有组织的文档。我设法在网上找到了一些代码,至少可以让我登录到我的帐户,但为什么我不断收到以下异常:
XMPPError 连接到 chat.facebook.com:5222.: remote-server-error(502) XMPPError 连接到 chat.facebook.com:5222。 -- 引起:java.net.SocketException: Permission denied
代码如下:
((Button) findViewById(R.id.login_btn)).setOnClickListener(
new OnClickListener()
@Override
public void onClick(View v)
ConnectionConfiguration config =
new ConnectionConfiguration("chat.facebook.com", 5222,
"chat.facebook.com");
config.setSASLAuthenticationEnabled(true);
Connection conn = new XMPPConnection(config);
try
conn.connect();
SASLAuthentication.supportSASLMechanism("PLAIN", 0);
ProgressDialog loading = ProgressDialog.show(instance,
"", "Loading...");
conn.login(login_field.getText().toString(),
pwd_field.getText().toString(),
login_field.getText().toString() + "/fbchat");
loading.hide();
new AlertDialog.Builder(instance).setMessage(conn.getUser())
.create().show();
catch (XMPPException e)
new AlertDialog.Builder(instance).setMessage(e.toString())
.setPositiveButton("OK", new DialogInterface.OnClickListener()
@Override
public void onClick(DialogInterface dialog, int which)
dialog.cancel();
)
.create().show();
);
【问题讨论】:
【参考方案1】:明显的潜在解释 - 你的 androidManifest.xml 中有INTERNET
权限吗?
<uses-permission android:name="android.permission.INTERNET"/>
没有这个,你将无法访问网络资源。
编辑:
您在清单中的哪个位置请求 INTERNET 权限?它的位置可以产生影响,它会默默地失败。它需要位于顶层(例如,在<manifest>
标签下,不附加到活动)。当然,如果您通过 Eclipse 添加它,它可能已经在正确的位置:
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.samplesync"
android:versionCode="1"
android:versionName="1.0">
<uses-permission android:name="android.permission.INTERNET" />
<activity>
...
</activity>
</manifest>
或者,您是如何连接到互联网的?这也可能表明所需的端口正在被防火墙阻止(请参阅here)
【讨论】:
看起来您的编辑成功了!因为我现在遇到了一堆新错误,比如服务器超时或其他什么。我的使用权限最初位于 标记下。不敢相信这让我被困了 6 个小时 如果 Android 工具将其标记为错误,那就太好了,因为它显然只有一个地方可以使用,但我猜它是有效的 XML,所以它可以通过。以上是关于XMPPError connected to chat.facebook.com (Permission denied) login to facebook chat with asmack的主要内容,如果未能解决你的问题,请参考以下文章
使用 smack 'XMPPError: service-unavailable - cancel' 传输文件失败
Android Smack 4.2:“XMPPError: feature-not-implemented - cancel”(错误)
java.io.IOException: Connection reset by peer和java.io.IOException: Connection timed out。Socket
急!急!急!服务起来一直报java.io.IOException: Connection reset by peer这个怎么解决!
start: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: