1 2 3 #include "tfarmexecutor.h" 4 #include <QStringList> 5 //------------------------------------------------------------------------------ 6 TFarmExecutor(int port)7TFarmExecutor::TFarmExecutor(int port) : TTcpIpServer(port) {} 8 9 //------------------------------------------------------------------------------ 10 extractArgs(const QString & s,std::vector<QString> & argv)11static int extractArgs(const QString &s, std::vector<QString> &argv) { 12 argv.clear(); 13 if (s == "") return 0; 14 15 QStringList sl = s.split(','); 16 int i; 17 for (i = 0; i < sl.size(); i++) argv.push_back(sl.at(i)); 18 19 return argv.size(); 20 } 21 22 //------------------------------------------------------------------------------ 23 onReceive(int socket,const QString & data)24void TFarmExecutor::onReceive(int socket, const QString &data) { 25 QString reply; 26 27 try { 28 std::vector<QString> argv; 29 extractArgs(data, argv); 30 reply = execute(argv); 31 } catch (...) { 32 } 33 34 sendReply(socket, reply); 35 } 36