// Message passing routine, used to send and receive a typed message // Useful for checking the packing and unpacking of message data. void fakeMessagePassing(TypedMessage &send, TypedMessage &recv) { const int tcpPort = TEST_PORT_BASE+401; char ipAddr[] = "127.0.0.1"; TcpClient tcpClient; TcpServer tcpServer; SimpleMessage msgSend, msgRecv; send.toTopic(msgSend); // Construct server tcpServer.init(tcpPort); // Construct a client tcpClient.init(&ipAddr[0], tcpPort); tcpClient.makeConnect(); // make tcp client connection tcpServer.makeConnect(); // make tcp server connection tcpClient.sendMsg(msgSend); // send message tcpServer.receiveMsg(msgRecv); // physically receive message recv.init(msgRecv); // copy received message into reference }
int main(int argc, char** argv) { char ip[1024] = "192.168.0.50"; // Robot IP address TcpClient connection; MessageManager manager; ros::init(argc, argv, "state_interface"); ros::NodeHandle n; JointRelayHandler jr_handler(n); ROS_INFO("Setting up client"); connection.init(ip, StandardSocketPorts::STATE); connection.makeConnect(); jr_handler.init(&connection); manager.init(&connection); manager.add(&jr_handler); manager.spin(); }