/** * 组包消息 * @param string $msg 消息 * @param string $msgType 消息类型 * @param string $groupName 组名 * @return string */ protected function packMsg($msg, $msgType, $groupName = '') { $msgArrHead = array('msgTime' => array('N', $msg[0]), 'msgId' => array('N', $msg[1]), 'msgLen' => array('n', $msg[2]), 'msg' => array('a*', $msg[3])); $msgStr = Socket::packByArr($msgArrHead); if ($msgType == self::SINGLEUSER && $this->singlemac === false) { $msgStr .= pack('n', $this->userNum); foreach ($this->user as $user) { $msgStr .= pack('N', $user); } // $msgStr.=pack('n',0); } elseif ($msgType == self::SINGLEUSER && $this->singlemac === true) { $msgStr .= pack('n', $this->macNum); foreach ($this->mac as $i => $mac) { $msgStr .= pack('N', $this->user[$i]) . pack('n', strlen($mac)) . pack('a*', $mac); } } elseif ($msgType == self::GROUP) { $msgStr .= pack('n', $this->groupNum); foreach ($this->group as $groupName) { $msgArrMid = array('groupLen' => array('n', strlen($groupName)), 'groupName' => array('a*', $groupName)); $msgStr .= Socket::packByArr($msgArrMid); } } elseif ($msgType == self::GROUPUNION) { $msgStr .= pack('n', 1); $msgArrMid = array('groupLen' => array('n', strlen($groupName)), 'groupName' => array('a*', $groupName)); $msgStr .= Socket::packByArr($msgArrMid); } return $msgStr; }
/** * @param \Sky\utils\Socket $socket * @param string $str */ protected function sendLog($socket, $str) { $socket->sendRequest($str); }