bool C4Network2ClientList::SendMsgToHost(C4NetIOPacket rPkt) { // find host C4Network2Client *pHost = GetHost(); if (!pHost) return false; // send message if (!pHost->getMsgConn()) return false; return pHost->SendMsg(rPkt); }
bool C4Network2ClientList::SendMsgToClient(int32_t iClient, C4NetIOPacket RREF rPkt) { // find client C4Network2Client *pClient = GetClientByID(iClient); if (!pClient) return false; // connected? send directly if (pClient->isConnected()) return pClient->SendMsg(rPkt); // forward C4PacketFwd Fwd; Fwd.SetListType(false); Fwd.AddClient(iClient); Fwd.SetData(rPkt); return SendMsgToHost(MkC4NetIOPacket(PID_FwdReq, Fwd)); }