本文整理汇总了C++中ArClientBase::requestOnce方法的典型用法代码示例。如果您正苦于以下问题:C++ ArClientBase::requestOnce方法的具体用法?C++ ArClientBase::requestOnce怎么用?C++ ArClientBase::requestOnce使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ArClientBase
的用法示例。
在下文中一共展示了ArClientBase::requestOnce方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: requestPanTiltAbs
bool ArNetCameraRequest::requestPanTiltAbs(double pan, double tilt)
{
empty();
byte2ToBuf((ArTypes::Byte2)(pan * 1000.0));
byte2ToBuf((ArTypes::Byte2)(tilt * 1000.0));
finalizePacket();
return myClient->requestOnce(myAbsReqName.c_str(), this);
}
示例2: main
int main(int argc, char **argv)
{
Aria::init();
ArClientBase client;
std::string host;
ArArgumentParser parser(&argc, argv);
ArClientSimpleConnector clientConnector(&parser);
parser.loadDefaultArguments();
/* Check for -help, and unhandled arguments: */
if (!clientConnector.parseArgs() || !parser.checkHelpAndWarnUnparsed())
{
clientConnector.logOptions();
exit(0);
}
/* Connect our client object to the remote server: */
if (!clientConnector.connectClient(&client))
{
if (client.wasRejected())
printf("Server rejected connection, exiting\n");
else
printf("Could not connect to server, exiting\n");
exit(1);
}
client.requestOnce("reloadConfig");
ArTime start;
start.setToNow();
while (Aria::getRunning() && client.isConnected())
{
client.loopOnce();
ArUtil::sleep(ArMath::random() % 10000);
client.requestOnce("reloadConfig");
}
Aria::shutdown();
return 0;
}
示例3: main
int main(int argc, char **argv)
{
Aria::init();
//ArLog::init(ArLog::StdOut, ArLog::Verbose);
ArClientBase client;
ArArgumentParser parser(&argc, argv);
ArClientSimpleConnector clientConnector(&parser);
parser.loadDefaultArguments();
if (!clientConnector.parseArgs() || !parser.checkHelpAndWarnUnparsed())
{
clientConnector.logOptions();
exit(0);
}
if (parser.getArgc() < 4 || parser.getArgc() > 6)
{
printf("usage: %s <x> <y> <th> <optional:xyspread> <optional:thspread>", argv[0]);
exit(1);
}
if (!clientConnector.connectClient(&client))
{
if (client.wasRejected())
printf("Server '%s' rejected connection, exiting\n", client.getHost());
else
printf("Could not connect to server '%s', exiting\n", client.getHost());
exit(1);
}
client.runAsync();
ArNetPacket sending;
// put in the arguments (you can see what they are from doing -lcl on clientDemo)
sending.byte4ToBuf(atoi(parser.getArg(1)));
sending.byte4ToBuf(atoi(parser.getArg(2)));
sending.byte4ToBuf(atoi(parser.getArg(3)));
if (parser.getArgc() > 4)
sending.uByte4ToBuf(atoi(parser.getArg(4)));
if (parser.getArgc() > 5)
sending.uByte4ToBuf(atoi(parser.getArg(5)));
// send the packet
client.requestOnce("localizeToPose", &sending);
// you have to give the client some time to send the command
ArUtil::sleep(500);
Aria::shutdown();
return 0;
}
示例4: unsafeDrive
void InputHandler::unsafeDrive()
{
/* Construct a request packet. The data is a single byte, with value
* 1 to enable safe drive, 0 to disable. */
ArNetPacket p;
p.byteToBuf(0);
/* Send the packet as a single request: */
if(myPrinting)
printf("Sending setSafeDrive 0.\n");
myClient->requestOnce("setSafeDrive",&p);
if(myPrinting)
printf("\nSent disable safe drive command. Your robot WILL run over things if you're not careful.\n");
}
示例5: safeDrive
void InputHandler::safeDrive()
{
/* Construct a request packet. The data is a single byte, with value
* 1 to enable safe drive, 0 to disable. */
ArNetPacket p;
p.byteToBuf(1);
/* Send the packet as a single request: */
if(myPrinting)
printf("Sending setSafeDrive 1.\n");
myClient->requestOnce("setSafeDrive",&p);
if(myPrinting)
printf("\nSent enable safe drive.\n");
}
示例6: main
int main(int argc, char **argv)
{
ArGlobalFunctor1<ArNetPacket *> getMapNameCB(handleGetMapName);
ArGlobalFunctor1<ArNetPacket *> getMapCB(handleGetMap);
Aria::init();
//ArLog::init(ArLog::StdOut, ArLog::Verbose);
ArArgumentParser parser(&argc, argv);
ArClientSimpleConnector clientConnector(&parser);
parser.loadDefaultArguments();
/* Check for -help, and unhandled arguments: */
if (!Aria::parseArgs() || !parser.checkHelpAndWarnUnparsed())
{
Aria::logOptions();
exit(0);
}
/* Connect our client object to the remote server: */
if (!clientConnector.connectClient(&client))
{
exit(1);
}
client.addHandler("getMap", &getMapCB);
client.addHandler("getMapName", &getMapNameCB);
client.requestOnce("getMapName");
start.setToNow();
client.requestOnce("getMap");
client.run();
}
示例7: main
int main(int argc, char **argv)
{
Aria::init();
//ArLog::init(ArLog::StdOut, ArLog::Verbose);
ArClientBase client;
ArArgumentParser parser(&argc, argv);
ArClientSimpleConnector clientConnector(&parser);
parser.loadDefaultArguments();
if (!clientConnector.parseArgs() || !parser.checkHelpAndWarnUnparsed())
{
clientConnector.logOptions();
exit(0);
}
if (!clientConnector.connectClient(&client))
{
if (client.wasRejected())
printf("Server '%s' rejected connection, exiting\n", client.getHost());
else
printf("Could not connect to server '%s', exiting\n", client.getHost());
exit(1);
}
client.runAsync();
ArNetPacket sending;
// We have to tell it what section we're sending
sending.strToBuf("Section");
// The map is in the files section
sending.strToBuf("Files");
// The parameter name
sending.strToBuf("Map");
// The value of the parameter
sending.strToBuf("entire2.map");
// you could put in however many of these you want...
client.requestOnce("setConfig", &sending);
// you have to give the client some time to send the command
ArUtil::sleep(500);
Aria::shutdown();
return 0;
}
示例8: main
int main(int argc, char **argv)
{
std::string hostname;
ArGlobalFunctor1<ArNetPacket *> drawingCB(&drawing);
Aria::init();
//ArLog::init(ArLog::StdOut, ArLog::Verbose);
ArArgumentParser parser(&argc, argv);
ArClientSimpleConnector clientConnector(&parser);
parser.loadDefaultArguments();
/* Check for -help, and unhandled arguments: */
if (!Aria::parseArgs() || !parser.checkHelpAndWarnUnparsed())
{
Aria::logOptions();
exit(0);
}
/* Connect our client object to the remote server: */
if (!clientConnector.connectClient(&client))
{
if (client.wasRejected())
printf("Server '%s' rejected connection, exiting\n", client.getHost());
else
printf("Could not connect to server '%s', exiting\n", client.getHost());
exit(1);
}
printf("Connected to server.\n");
client.addHandler("listDrawings", &drawingCB);
client.requestOnce("listDrawings");
client.runAsync();
while (client.getRunningWithLock())
{
ArUtil::sleep(1);
//printf("%d ms since last data\n", client.getLastPacketReceived().mSecSince());
}
Aria::shutdown();
return 0;
}
示例9: main
int main(int argc, char **argv)
{
Aria::init();
//ArLog::init(ArLog::StdOut, ArLog::Verbose);
ArClientBase client;
ArArgumentParser parser(&argc, argv);
ArClientSimpleConnector clientConnector(&parser);
parser.loadDefaultArguments();
if (!clientConnector.parseArgs() || !parser.checkHelpAndWarnUnparsed())
{
clientConnector.logOptions();
exit(0);
}
if (!clientConnector.connectClient(&client))
{
if (client.wasRejected())
printf("Server '%s' rejected connection, exiting\n", client.getHost());
else
printf("Could not connect to server '%s', exiting\n", client.getHost());
exit(1);
}
client.runAsync();
ArNetPacket sending;
// We have to tell it what route we want to patrol
sending.strToBuf("hallways");
// tell it how much many times we want to patrol (<= 0 == forever)
sending.byte4ToBuf(0);
client.requestOnce("patrolRouteCount", &sending);
// note that there's also another call (patrol) that just has it always
// patrol forever but this gives you more options and is only
// slightly more complicated (just give it that byte4)
// you have to give the client some time to send the command
ArUtil::sleep(500);
Aria::shutdown();
return 0;
}
示例10: main
int main(int argc, char **argv)
{
ArClientBase client;
ArGlobalFunctor1<ArNetPacket *> testCB(&test);
Aria::init();
//ArLog::init(ArLog::StdOut, ArLog::Verbose);
ArTime startTime;
startTime.setToNow();
if (!client.blockingConnect("localhost", 7273))
{
printf("Could not connect to server, exiting\n");
exit(1);
}
printf("Took %ld msec to connect\n", startTime.mSecSince());
client.runAsync();
client.lock();
client.addHandler("test", &testCB);
client.addHandler("test2", &testCB);
client.addHandler("test3", &testCB);
client.logDataList();
client.requestOnce("test");
client.request("test2", 100);
client.request("test3", -1);
client.unlock();
ArUtil::sleep(1000);
printf("Changing speed\n");
client.lock();
client.request("test2", 300);
client.unlock();
ArUtil::sleep(1000);
client.lock();
client.requestStop("test2");
client.unlock();
ArUtil::sleep(1000);
client.lock();
client.disconnect();
client.unlock();
ArUtil::sleep(50);
exit(0);
}
示例11: main
int main(int argc, char **argv)
{
Aria::init();
ArLog::init(ArLog::StdOut, ArLog::Normal);
ArClientBase client;
ArArgumentParser parser(&argc, argv);
ArClientSimpleConnector clientConnector(&parser);
parser.loadDefaultArguments();
if (!clientConnector.parseArgs() || !parser.checkHelpAndWarnUnparsed())
{
clientConnector.logOptions();
exit(0);
}
if (!clientConnector.connectClient(&client))
{
if (client.wasRejected())
printf("Server '%s' rejected connection, exiting\n", client.getHost());
else
printf("Could not connect to server '%s', exiting\n", client.getHost());
exit(1);
}
ArGlobalFunctor1<ArNetPacket *> getModeDataListCB(&getModeDataList);
ArGlobalFunctor1<ArNetPacket *> getModeInfoCB(&getModeInfo);
client.addHandler("getModeDataList", &getModeDataListCB);
client.requestOnce("getModeDataList");
client.addHandler("getModeInfo", &getModeInfoCB);
client.request("getModeInfo", -1);
client.runAsync();
while (client.getRunningWithLock())
{
ArUtil::sleep(1);
//printf("%d ms since last data\n", client.getLastPacketReceived().mSecSince());
}
Aria::shutdown();
return 0;
}
示例12: main
int main(int argc, char **argv)
{
Aria::init();
ArGlobalFunctor1<ArNetPacket *> clientListHandlerCB(&clientListHandler);
ArGlobalFunctor1<ArNetPacket *> clientAddedHandlerCB(&clientAddedHandler);
ArGlobalFunctor1<ArNetPacket *> clientRemovedHandlerCB(&clientRemovedHandler);
ArNetPacket packet;
ArClientBase client;
ArArgumentParser parser(&argc, argv);
ArClientSimpleConnector clientConnector(&parser);
parser.loadDefaultArguments();
if (!Aria::parseArgs() || !parser.checkHelpAndWarnUnparsed())
{
Aria::logOptions();
exit(0);
}
if (!clientConnector.connectClient(&client))
{
if (client.wasRejected())
printf("Server '%s' rejected connection, exiting\n", client.getHost());
else
printf("Could not connect to server '%s', exiting\n", client.getHost());
exit(1);
}
printf("Connected to server.\n");
client.addHandler("clientList", &clientListHandlerCB);
client.requestOnce("clientList");
client.addHandler("clientRemoved", &clientRemovedHandlerCB);
client.request("clientRemoved", -1);
client.addHandler("clientAdded", &clientAddedHandlerCB);
client.request("clientAdded", -1);
client.run();
Aria::shutdown();
return 0;
}
示例13: OutputHandler
/**
Initialize the robot connection
*/
JNIEXPORT jint JNICALL Java_com_adept_arandroid_ArjRobot_initialize
(JNIEnv *env, jobject obj, jstring host, jint port)
{
// Get the host ip address
const char *cHost = env->GetStringUTFChars(host, 0);
// Try to connect
Aria::init();
ArLog::setFunctor(new ArGlobalFunctor1<const char*>(ariaLogDebugPrint));
debugPrintS("Connecting to ", cHost);
if (!myClient.blockingConnect(cHost, port, true, NULL, NULL, NULL)) {
debugPrint("Error connecting");
return -1;
}
debugPrint("Connected");
// Run the client connection in a different thread
myClient.runAsync();
// Download the map, maybe move this to it's own function later
debugPrint("getting map");
myClient.requestOnce("getMapBinary");
// Create the OutputHandler
myOutputHandler = new OutputHandler(&myClient);
/* Block until the connection is closed. We will use this time to get
* status update information at a regular rate. */
myShutdown = false;
while (myClient.getRunningWithLock() && !myShutdown) {
ArUtil::sleep(100);
myServerStatus = myOutputHandler->getServerStatus();
myOutputHandler->getRobotStatus(myRobotStatus);
}
debugPrint("Shutting down Aria");
myClient.disconnect();
Aria::shutdown();
return 0;
}
示例14: sendInput
void InputHandler::sendInput(void)
{
/* This method is called by the main function to send a ratioDrive
* request with our current velocity values. If the server does
* not support the ratioDrive request, then we abort now: */
if(!myClient->dataExists("ratioDrive")) return;
/* Construct a ratioDrive request packet. It consists
* of three doubles: translation ratio, rotation ratio, and an overall scaling
* factor. */
ArNetPacket packet;
packet.doubleToBuf(myTransRatio);
packet.doubleToBuf(myRotRatio);
packet.doubleToBuf(50); // use half of the robot's maximum.
packet.doubleToBuf(myLatRatio);
if (myPrinting)
printf("Sending\n");
myClient->requestOnce("ratioDrive", &packet);
myTransRatio = 0;
myRotRatio = 0;
myLatRatio = 0;
}
示例15: main
int main(int argc, char **argv)
{
Aria::init();
ArClientBase client;
ArArgumentParser parser(&argc, argv);
/* This will be used to connect our client to the server.
* It will get the hostname from the -host command line argument: */
ArClientSimpleConnector clientConnector(&parser);
parser.loadDefaultArguments();
/* Check for -host, -help, ARIA arguments, and unhandled arguments: */
if (!Aria::parseArgs() || !parser.checkHelpAndWarnUnparsed())
{
Aria::logOptions();
Aria::exit(0);
}
/* Connect our client object to the remote server: */
if (!clientConnector.connectClient(&client))
{
if (client.wasRejected())
printf("Server '%s' rejected connection, exiting\n", client.getHost());
else
printf("Could not connect to server '%s', exiting\n", client.getHost());
Aria::exit(1);
}
printf("Connected to server.\n");
client.setRobotName(client.getHost()); // include server name in log messages
client.runAsync();
ArNetPacket request;
// request.
// client.requestOnceByCommand(ArCommands::ENABLE, )
ArClientHandlerRobotUpdate updates(&client);
// client.requestOnce("enableMotor");
ArGlobalFunctor1<ArNetPacket*> enableCB(&enable);
ArGlobalFunctor1<ArNetPacket *> getFileCB(&netGetFile);
ArGlobalFunctor1<ArNetPacket*> recieveDataCB(&recieveData);
client.addHandler("requestEnableMotor", &enableCB);
client.addHandler("handleCheckObjectData", &recieveDataCB);
//client.addHandler("getFile", &getFileCB);
client.requestOnce("requestEnableMotor");
client.request("handleCheckObjectData", 10);
updates.requestUpdates();
if (checkObject)
client.requestOnceWithString("getFile", "./image/ball.jpg");
ArPose pose;
namedWindow("image", 0);
while (client.getRunningWithLock())
{
//client.requestOnce("sendData");
if (checkObject) {
// if (!a) {
cout <<"OK"<<endl;
// client.requestOnceWithString("getFile", "./image/ball.jpg");
client.addHandler("getFile", &getFileCB);
// client.remHandler("getFile", &getFileCB);
//} else {
//client.remHandler("getFile", &getFileCB);
//}
Mat image;
image = imread("./image/ball.jpg", CV_LOAD_IMAGE_COLOR);
imshow("image", image);
char c = (char)waitKey(10);
if( c == 27 )
break;
}
ArUtil::sleep(200);
}
// client.requestStop("getFile");
cout <<"Da tim thay qua bong o vi tri pose("<<pose.getX()<<", "<<pose.getY()<<")"<<endl;
cout <<"Vi tri pose("<<pose.getX()<<", "<<pose.getY()<<")"<<endl;
/* The client stopped running, due to disconnection from the server, general
* Aria shutdown, or some other reason. */
client.disconnect();
Aria::exit(0);
return 0;
}