簡體   English   中英

Asmack Android與服務器Xmpp的連接錯誤

[英]Error in Asmack Android Connection to Server Xmpp

我無法連接到服務器,我不知道為什么請幫助我。 這是我的代碼:

public class Sample extends Activity{

    /** Called when the activity is first created. */
    TextView tvHello;
    XMPPTCPConnection connection;
    ConnectionConfiguration config;

    @Override
    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        tvHello = (TextView) findViewById(R.id.tvHello);
        Log.i("ohyeah", "I'm here");
        config = new ConnectionConfiguration("host", 5222, "servername");
        connection = new XMPPTCPConnection(config);
        try {

           connection.connect();
            // tvHello.setText("Connected to XMPP server");
            Log.i("ohyeah", "Successfully Connected");
        } catch (XMPPException e) {

            // TODO Auto-generated catch block
            e.printStackTrace();
            Log.e("ohyeah", "Not Connected");
        } catch (SmackException e) {

            // TODO Auto-generated catch block
            e.printStackTrace();
            Log.i("ohyeah", "Something Fishy");
        } catch (IOException e) {

            // TODO Auto-generated catch block
            e.printStackTrace();
            Log.i("ohyeah", "yes");
        }
    }
}

這是我的錯誤: http : //i.stack.imgur.com/iaRdO.png

您不能在ui線程中執行長時間運行或后台運行的進程,因此請嘗試使用AsyncTask連接xmpp服務器:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    tvHello = (TextView) findViewById(R.id.tvHello);
    Log.i("ohyeah", "I'm here");
    connectToXmppServer();
 }

public void connectToXmppServer(){
    new AsyncTask<Void,Void,String>(){
       @Override
       protected String doInBackground(Void... params) {
           config = new ConnectionConfiguration("host", 5222, "servername");
           connection = new XMPPTCPConnection(config);
           try {
               connection.connect();
               // tvHello.setText("Connected to XMPP server");
               Log.i("ohyeah", "Successfully Connected");
           } catch (XMPPException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
               Log.e("ohyeah", "Not Connected");
           } catch (SmackException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
               Log.i("ohyeah", "Something Fishy");
           } catch (IOException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
               Log.i("ohyeah", "yes");
           }
           return null;
        }
   }.execute();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM