I am running very simple kaa example on android phone
package com.delvebyte.myapplication;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Toast;
import org.kaaproject.kaa.client.AndroidKaaPlatformContext;
import org.kaaproject.kaa.client.Kaa;
import org.kaaproject.kaa.client.KaaClient;
import org.kaaproject.kaa.client.SimpleKaaClientStateListener;
import org.kaaproject.kaa.client.exceptions.KaaException;
public class MainActivity extends AppCompatActivity {
private Context mContext;
private KaaClient mClient;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mContext = this;
mClient = Kaa.newClient(new AndroidKaaPlatformContext(mContext), new SimpleKaaClientStateListener(){
@Override
public void onStarted(){
Toast.makeText(mContext, "Success", Toast.LENGTH_LONG).show();
}
@Override
public void onStartFailure(KaaException exception){
Toast.makeText(mContext, "Failure", Toast.LENGTH_LONG).show();
}
});
mClient.start();
}
}
I am expecting to have a toast telling me if kaa client started successfully or not, but i am not getting any toast, i am not sure what i am doing wrong, the server is running normally
and i can connect to the admin UI from a web browser om my mobile phone is there some steps i should do on the server first? i am running the server built from source code
04-19 19:37:07.906 3288-3367/com.delvebyte.myapplication I/DefaultFailoverManager: Server [BOOTSTRAP, -1835393002] failed
04-19 19:37:07.907 3288-3367/com.delvebyte.myapplication W/DefaultChannelManager: Attempt to connect to the next bootstrap server will be made in 2000 ms, according to failover strategy decision
04-19 19:37:07.925 3288-3726/com.delvebyte.myapplication I/AbstractHttpChannel: Processing sync all for channel default_bootstrap_channel
04-19 19:37:07.929 3288-3725/com.delvebyte.myapplication E/DefaultBootstrapChannel: Failed to receive operation servers list {}
org.apache.http.conn.HttpHostConnectException: Connection to http://192.168.1.109:9889 refused
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:193)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:169)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:124)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:366)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:560)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:492)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:470)
at org.kaaproject.kaa.client.transport.AndroidHttpClient.executeHttpRequest(AndroidHttpClient.java:67)
at org.kaaproject.kaa.client.channel.impl.channels.DefaultBootstrapChannel.processTypes(DefaultBootstrapChannel.java:74)
at org.kaaproject.kaa.client.channel.impl.channels.DefaultBootstrapChannel.access$100(DefaultBootstrapChannel.java:32)
at org.kaaproject.kaa.client.channel.impl.channels.DefaultBootstrapChannel$BootstrapRunnable.run(DefaultBootstrapChannel.java:49)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.net.ConnectException: socket failed: EACCES (Permission denied)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:190)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:169)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:124)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:366)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:560)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:492)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:470)
at org.kaaproject.kaa.client.transport.AndroidHttpClient.executeHttpRequest(AndroidHttpClient.java:67)
at org.kaaproject.kaa.client.channel.impl.channels.DefaultBootstrapChannel.processTypes(DefaultBootstrapChannel.java:74)
at org.kaaproject.kaa.client.channel.impl.channels.DefaultBootstrapChannel.access$100(DefaultBootstrapChannel.java:32)
at org.kaaproject.kaa.client.channel.impl.channels.DefaultBootstrapChannel$BootstrapRunnable.run(DefaultBootstrapChannel.java:49)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Caused by: java.net.SocketException: socket failed: EACCES (Permission denied)
at libcore.io.IoBridge.socket(IoBridge.java:619)
at java.net.PlainSocketImpl.create(PlainSocketImpl.java:198)
at java.net.Socket.checkOpenAndCreate(Socket.java:689)
at java.net.Socket.connect(Socket.java:849)
at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:124)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:149)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:169)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:124)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:366)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:560)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:492)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:470)
at org.kaaproject.kaa.client.transport.AndroidHttpClient.executeHttpRequest(AndroidHttpClient.java:67)
at org.kaaproject.kaa.client.channel.impl.channels.DefaultBootstrapChannel.processTypes(DefaultBootstrapChannel.java:74)
at org.kaaproject.kaa.client.channel.impl.channels.DefaultBootstrapChannel.access$100(DefaultBootstrapChannel.java:32)
at org.kaaproject.kaa.client.channel.impl.channels.DefaultBootstrapChannel$BootstrapRunnable.run(DefaultBootstrapChannel.java:49)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
Caused by: android.system.ErrnoException: socket failed: EACCES (Permission denied)
at libcore.io.Posix.socket(Native Method)
at libcore.io.BlockGuardOs.socket(BlockGuardOs.java:282)
at libcore.io.IoBridge.socket(IoBridge.java:604)
at java.net.PlainSocketImpl.create(PlainSocketImpl.java:198)
at java.net.Socket.checkOpenAndCreate(Socket.java:689)
at java.net.Socket.connect(Socket.java:849)
at org.apache.http.conn.scheme.PlainSocketFactory.connectSocket(PlainSocketFactory.java:124)
at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:149)
at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:169)
at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:124)
at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:366)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:560)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:492)
at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:470)
at org.kaaproject.kaa.client.transport.AndroidHttpClient.executeHttpRequest(AndroidHttpClient.java:67)
at org.kaaproject.kaa.client.channel.impl.channels.DefaultBootstrapChannel.processTypes(DefaultBootstrapChannel.java:74)
at org.kaaproject.kaa.client.channel.impl.channels.DefaultBootstrapChannel.access$100(DefaultBootstrapChannel.java:32)
at org.kaaproject.kaa.client.channel.impl.channels.DefaultBootstrapChannel$BootstrapRunnable.run(DefaultBootstrapChannel.java:49)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
at java.lang.Thread.run(Thread.java:818)
04-19 19:37:07.930 3288-3725/com.delvebyte.myapplication I/DefaultFailoverManager: Server [BOOTSTRAP, -1835393002] failed
04-19 19:37:07.930 3288-3725/com.delvebyte.myapplication W/DefaultChannelManager: Attempt to connect to the next bootstrap server will be made in 2000 ms, according to failover strategy decision
04-19 19:37:09.949 3288-3372/com.delvebyte.myapplication I/AbstractHttpChannel: Processing sync all for channel default_bootstrap_channel
sudo nano /etc/kaa-node/conf/kaa-node.properties
transport_public_interface=localhost=YOUR_PUBLIC_INTERFACE