How to connect Rosjava talker to a C++ Listener
I have created a talker in in rosjava and have created a listener in C++ code. When I run the talker and the start the listener I see this on the talker screen...
May 11, 2012 2:53:01 PM org.jboss.netty.channel.DefaultChannelPipeline WARNING: An exception was thrown by a user handler while handling an exception event ([id: 0x4b3ec2dd, /127.0.0.1:40815 :> /127.0.0.1:42634] EXCEPTION: java.lang.IllegalStateException: Unexpected message MD5 fee433c609b213f85c484ba6dc0f8c7c != 74765c06a94b3265f1c21e7d818205cd) org.ros.exception.RosRuntimeException: java.lang.IllegalStateException: Unexpected message MD5 fee433c609b213f85c484ba6dc0f8c7c != 74765c06a94b3265f1c21e7d818205cd at org.ros.internal.transport.ConnectionTrackingHandler.exceptionCaught(ConnectionTrackingHandler.java:73) at org.jboss.netty.channel.Channels.fireExceptionCaught(Channels.java:432) at org.jboss.netty.channel.AbstractChannelSink.exceptionCaught(AbstractChannelSink.java:52) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302) at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:317) at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:299) at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:216) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274) at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261) at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:349) at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:280) at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:200) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) Caused by: java.lang.IllegalStateException: Unexpected message MD5 fee433c609b213f85c484ba6dc0f8c7c != 74765c06a94b3265f1c21e7d818205cd at com.google.common.base.Preconditions.checkState(Preconditions.java:145) at org.ros.internal.node.topic.DefaultPublisher.finishHandshake(DefaultPublisher.java:179) at org.ros.internal.transport.tcp.TcpServerHandshakeHandler.handleSubscriberHandshake(TcpServerHandshakeHandler.java:99) at org.ros.internal.transport.tcp.TcpServerHandshakeHandler.messageReceived(TcpServerHandshakeHandler.java:69) ... 12 more
I know that the talker and listener are working correctly all in rosjava but when I try to connect it with C++ node I get this error. Roscore is running on localhost:11311. What am I missing here? It also fails when I do a rostopic echo chatter.
Thanks
Looks like the message checksums do not match. What message are you trying to send?
I tried doing custom messages at first but then checked by sending a string and it did the same thing.