#include "YLRCommand.h" YLRCommand::YLRCommand(string strcom) :m_Command(strcom) { } YLRCommand::~YLRCommand() { } int YLRCommand::GetRequestSequence(unsigned char* bseq) { string str = ""; str = m_Command + "\r"; memcpy(bseq, str.c_str(), str.length()); return str.length(); } YLRReadCommand::YLRReadCommand(string command):YLRCommand(command) ,m_Value("") { } YLRReadCommand::~YLRReadCommand() { } bool YLRReadCommand::Verify(unsigned char* rseq, int dlength) { if (dlength <= 0)return false; char data[1024]; memset(data, '\0', sizeof(data)); memcpy(data, rseq, dlength); if (data[dlength - 1] != '\r')return false; bool rel = true; for (size_t i=0; i < m_Command.length();i++) { if (rseq[i] != m_Command[i]) { rel = false; break; } } if (!rel)return false; bool isfind = false; char value[64]; int valueFlag = 0; memset(value, '\0', sizeof(value)); for (int i = 0; i < dlength;i++) { if(data[i] == ' ')continue; if (data[i] == '\r')continue; if (data[i] == ':') { isfind = true; continue; } if (isfind && (valueFlag