void FrTaskManage::netAddTaskCallback(ArServerClient* client, ArNetPacket* pkt)
{
AcquireSRWLockExclusive(&m_srwlock);
taskArg req;
req.robotId = 0;//多台的时候改这里
char reqName[1024];
pkt->bufToStr(reqName, sizeof(reqName));
req.taskName = reqName;
ArLog::log(ArLog::Normal, "taskName = %s", req.taskName.c_str());
m_requestList.push_back(req);
ReleaseSRWLockExclusive(&m_srwlock);
}
void FrTaskManage::netTaskRequestListCallback(ArServerClient* client, ArNetPacket* pkt)
{//客户端会每100ms请求一次
AcquireSRWLockShared(&m_srwlock);
ArNetPacket sendPkt;
sendPkt.byteToBuf(m_requestList.size());
std::list<taskArg>::iterator iter = m_requestList.begin();
while(iter != m_requestList.end())
{
pkt->strToBuf(iter->taskName.c_str());
pkt->byteToBuf(1);
}
client->sendPacketTcp(&sendPkt);
ReleaseSRWLockShared(&m_srwlock);
}
ä¸æ¯è¿ä¸ªå¼èµ·çï¼ è¿éæ¯æå¿è®°å äº
追çå¿è®°å äº å°±ä¼å¯¼è´ æ»éï¼è¯»åéä¸ç´ä¸éæ¾ï¼ï¼å½ç¶å°±ä¸è½ç»§ç»å¤çå ¶å®æ¶æ¯äºã å ¶å®çä»ä¸é¢ç代ç çä¸åºæ¥æä»ä¹é®é¢ï¼ä¸ç¥éå ¶å®å 个å½æ°æ¯æä¹å®ç°çã ä½ å¯ä»¥å æåè½ä¸ä¸ªä¸ªé½æ³¨éæï¼åªçç®åçï¼å ä¸äºè°è¯è¾åºï¼ççå°åºæ¯åªä¸ªè°ç¨åºçé®é¢
追é®è¿ä¸ªæ¯iter++; æ¯æåä¸æ¥çæ¶åå°åäºçï¼å®é æ代ç ä¸æ¯æçãæè¿éæå¡ç«¯è¿æ个线ç¨æ¥è¿è¡listçå é¤