Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
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));
}