2017-01-18 3 views
-5

ejabberdサーバに接続してログインするためにtlsを使用する単純なJavaクライアントを作るのに10日を費やした。私はAndroid StudioやEclipseを使用しています。私は見つけることができ、何も働かないすべての例を試みました。tls smack ejabberd Android Sudio。私はちょうど良い一例がほしいと思う。

+0

Welcome to Stackoverflow!サイトを最大限に活用するには、良い質問をすることが重要です。質問をするためのガイドはhttp://stackoverflow.com/help/how-to-ask –

答えて

0

まずあなたはGradleのファイルで、このようなプロジェクトにライブラリを含める必要があります:

Add SMACK API to android project by adding dependencies in build.gradle for the app. 
compile 'org.igniterealtime.smack:smack-android:4.1.4' 
// Optional for XMPPTCPConnection 
compile 'org.igniterealtime.smack:smack-tcp:4.1.4' 
// Optional for XMPP-IM (RFC 6121) support (Roster, Threaded Chats) 
compile 'org.igniterealtime.smack:smack-im:4.1.4' 
// Optional for XMPP extensions support 
compile 'org.igniterealtime.smack:smack-extensions:4.1.4' 

次に、このように接続します。

XMPPTCPConnectionConfiguration.Builder configBuilder =  XMPPTCPConnectionConfiguration.builder(); 
    configBuilder.setUsernameAndPassword(userName, passWord); 
    configBuilder.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled); 
    configBuilder.setResource("Android"); 
    configBuilder.setServiceName(DOMAIN); 
configBuilder.setHost(HOST); 
configBuilder.setPort(PORT); 
    //configBuilder.setDebuggerEnabled(true); 
    connection = new XMPPTCPConnection(configBuilder.build()); 
    connection.addConnectionListener(connectionListener); 

が、それは動作します願っています。

+0

にあります。しかし、configBuilder.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled)のためにtlsを使用しないため、これは機能しません。 私は成功していない正確な例を試しました。 – ZingMe

関連する問題