本文整理汇总了C++中WebServer::startServer方法的典型用法代码示例。如果您正苦于以下问题:C++ WebServer::startServer方法的具体用法?C++ WebServer::startServer怎么用?C++ WebServer::startServer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类WebServer
的用法示例。
在下文中一共展示了WebServer::startServer方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main( int argc, char ** argv )
{
QCoreApplication a(argc, argv);
//Check whether running as root
if( getuid() != 0){
qDebug() << "pc-restserver must be started as root!";
return 1;
}
//Setup the log file
if(DEBUG){
qDebug() << "pc-restserver Log File:" << logfile.fileName();
if(QFile::exists(logfile.fileName()+".old")){ QFile::remove(logfile.fileName()+".old"); }
if(logfile.exists()){ QFile::rename(logfile.fileName(), logfile.fileName()+".old"); }
//Make sure the parent directory exists
if(!QFile::exists("/var/log")){
QDir dir;
dir.mkpath("/var/log");
}
logfile.open(QIODevice::WriteOnly | QIODevice::Append);
qInstallMessageHandler(MessageOutput);
}
//Create and start the daemon
qDebug() << "Starting the PC-BSD REST server interface....";
WebServer *w = new WebServer();
if( w->startServer() ){
//Now start the event loop
QTimer::singleShot(1000, w, SLOT(stopServer()) ); //for testing purposes
int ret = a.exec();
logfile.close();
return ret;
}else{
return 1;
}
}
示例2: main
int main( int argc, char ** argv )
{
QCoreApplication a(argc, argv);
//Check whether running as root
if( getuid() != 0){
qDebug() << "sysadm-server must be started as root!";
return 1;
}
//Evaluate input arguments
bool websocket = false;
quint16 port = 0;
for(int i=1; i<argc; i++){
if( QString(argv[i])=="-ws" ){ websocket = true; WS_MODE = true;}
else if( QString(argv[i])=="-p" && (i+1<argc) ){ i++; port = QString(argv[i]).toUInt(); }
}
if(port==0){
if(websocket){ port = WSPORTNUMBER; }
else{ port = PORTNUMBER; }
}
//Setup the log file
LogManager::checkLogDir(); //ensure the logging directory exists
if(!websocket){ logfile.setFileName("/var/log/sysadm-server-tcp.log"); }
else{ logfile.setFileName("/var/log/sysadm-server-ws.log"); }
if(DEBUG){ qDebug() << "Log File:" << logfile.fileName(); }
if(QFile::exists(logfile.fileName()+".old")){ QFile::remove(logfile.fileName()+".old"); }
if(logfile.exists()){ QFile::rename(logfile.fileName(), logfile.fileName()+".old"); }
//Make sure the parent directory exists
if(!QFile::exists("/var/log")){
QDir dir;
dir.mkpath("/var/log");
}
logfile.open(QIODevice::WriteOnly | QIODevice::Append);
qInstallMessageHandler(MessageOutput);
//Connect the background classes
QObject::connect(DISPATCHER, SIGNAL(DispatchFinished(QJsonObject)), EVENTS, SLOT(DispatchFinished(QJsonObject)) );
QObject::connect(DISPATCHER, SIGNAL(DispatchStarting(QString)), EVENTS, SLOT(DispatchStarting(QString)) );
//Create the daemon
qDebug() << "Starting the PC-BSD sysadm server...." << (websocket ? "(WebSocket)" : "(TCP)");
WebServer *w = new WebServer();
//Start the daemon
int ret = 1; //error return value
if( w->startServer(port, websocket) ){
qDebug() << " - Configuration File:" << CONFIG->fileName();
QThread TBACK, TBACK2;
EVENTS->moveToThread(&TBACK);
DISPATCHER->moveToThread(&TBACK2);
TBACK.start();
TBACK2.start();
QTimer::singleShot(0,EVENTS, SLOT(start()) );
//Now start the main event loop
ret = a.exec();
qDebug() << "Server Stopped:" << QDateTime::currentDateTime().toString(Qt::ISODate);
//TBACK.stop();
}else{
qDebug() << "[FATAL] Server could not be started:" << QDateTime::currentDateTime().toString(Qt::ISODate);
qDebug() << " - Tried port:" << port;
}
//Cleanup any globals
delete CONFIG;
logfile.close();
//Return
return ret;
}