示例#1
0
文件: PushMsg.php 项目: jymsy/sky2
 /**
  * 组包消息
  * @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;
 }
示例#2
0
 /**
  * @param \Sky\utils\Socket $socket
  * @param string $str
  */
 protected function sendLog($socket, $str)
 {
     $socket->sendRequest($str);
 }