Jetclient at android
nikolaykuz opened this issue · comments
Please, let us know whether it is possible to use jetclient for android app, and if not what kind of modifications would be necessary. Thank
Hi,
I have successfully used jeclient on android.
I have never used Android so I need to check possibility. Do you need to build the whole project for android you can just take jar-files and add to android project?
As far as jetserver is a developing project I used sources only. I added jetclient to dependencies of android-maven project. And voilà!
Yahuen, Thanks for responding back. I have not tried jetclient on Android, its good to know that it works fine.
Hi Yauhen Lazurkin, I m trying jetclient on android, but its giving error.. java.net.SocketException: sendto failed: EINVAL (Invalid argument). what might gone wrong....please help.
Could you give the full stack trace?
10-01 11:12:09.383: W/System.err(31666): java.net.SocketException: sendto failed: EINVAL (Invalid argument)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): An exception was thrown by ChannelFutureListener.
10-01 11:12:09.393: W/DefaultChannelFuture(31666): java.lang.RuntimeException: java.net.SocketException: sendto failed: EINVAL (Invalid argument)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.menacheri.jetclient.NettyUDPClient$2.operationComplete(NettyUDPClient.java:264)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.channel.DefaultChannelFuture.notifyListener(DefaultChannelFuture.java:427)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.channel.DefaultChannelFuture.addListener(DefaultChannelFuture.java:145)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.menacheri.jetclient.NettyUDPClient.connect(NettyUDPClient.java:256)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.menacheri.jetclient.NettyUDPClient.connect(NettyUDPClient.java:211)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.menacheri.jetclient.app.impl.SessionFactory$1.onEvent(SessionFactory.java:246)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.menacheri.jetclient.event.impl.DefaultEventDispatcher.fireEvent(DefaultEventDispatcher.java:186)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.menacheri.jetclient.app.impl.DefaultSession.onEvent(DefaultSession.java:200)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.menacheri.jetclient.handlers.netty.DefaultToClientHandler.messageReceived(DefaultToClientHandler.java:36)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.handler.codec.oneone.OneToOneDecoder.handleUpstream(OneToOneDecoder.java:70)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:296)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:462)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:443)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:303)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:107)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:88)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at java.lang.Thread.run(Thread.java:841)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): Caused by: java.net.SocketException: sendto failed: EINVAL (Invalid argument)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at libcore.io.IoBridge.maybeThrowAfterSendto(IoBridge.java:499)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at libcore.io.IoBridge.sendto(IoBridge.java:468)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at java.net.PlainDatagramSocketImpl.send(PlainDatagramSocketImpl.java:182)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at java.net.DatagramSocket.send(DatagramSocket.java:281)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.channel.socket.oio.OioDatagramWorker.write(OioDatagramWorker.java:84)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.channel.socket.oio.OioDatagramPipelineSink.eventSunk(OioDatagramPipelineSink.java:75)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.channel.Channels.write(Channels.java:725)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.doEncode(OneToOneEncoder.java:71)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:59)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.channel.Channels.write(Channels.java:704)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:252)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.jboss.netty.channel.socket.oio.AbstractOioChannel.write(AbstractOioChannel.java:61)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at org.menacheri.jetclient.NettyUDPClient.connect(NettyUDPClient.java:255)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): ... 21 more
10-01 11:12:09.393: W/DefaultChannelFuture(31666): Caused by: libcore.io.ErrnoException: sendto failed: EINVAL (Invalid argument)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at libcore.io.Posix.sendtoBytes(Native Method)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at libcore.io.Posix.sendto(Posix.java:156)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:177)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): at libcore.io.IoBridge.sendto(IoBridge.java:466)
10-01 11:12:09.393: W/DefaultChannelFuture(31666): ... 32 more
I think this has something to do with Android OS. Could you check and see if the solution provided at http://stackoverflow.com/questions/14172412/jainsip-on-android-sending-register-throws-exception works for you?
Hi menacher, m following same thread :P... lets see what come out..
Hi menacher, I tried to get into root of the issue, Android doesnt have all classes in its nio package. which are there in use in jetclient.
Oh ok. Do you know specifically which classes are missing. I could try to remove those. Also which version of Android?