Beispiel #1
0
<?php

require "./global.php";
$socket = stream_socket_server("udp://10.210.136.100:21345", $errno, $errstr, STREAM_SERVER_BIND);
if (!$socket) {
    die("{$errstr} ({$errno})");
}
do {
    $pkt = stream_socket_recvfrom($socket, 1, 0, $peer);
    echo "{$peer}\n";
    $listDB = new AlarmListModelDB();
    $messageDB = new AlarmMessageModelDB();
    $userDB = new AlarmUserModelDB();
    $lastId = 0;
    while (1) {
        //$message = pack("h", '01');
        $userId = 1;
        $sql = "SELECT * FROM `" . $listDB->getTableName() . "` WHERE `user_id` = ? AND `id` > ? ORDER BY `id` ASC LIMIT 10";
        $data = $listDB->getData($sql, array($userId, $lastId));
        if (!empty($data)) {
            $messageIds = array();
            foreach ($data as $key => $val) {
                $messageIds[$val['message_id']] = $val['message_id'];
            }
            $sql = "SELECT * FROM `" . $messageDB->getTableName() . "` WHERE `id` IN ?";
            $messageData = $messageDB->getData($sql, array($messageIds));
            $messageFkData = array();
            foreach ($messageData as $v) {
                $messageFkData[$v['id']] = $v;
            }
            $showArr = array();
 /**
  *
  *@description: android获取client_id 是第三方推送过来的信息, 不能保证 登陆前一定能获取到..  不阻塞用户登陆, 只有获取到之后再进行更新
  */
 public function updateClientId()
 {
     Switcher::close('masterDbPostOnly');
     $username = $_POST['username'];
     $clientId = $_POST['client_id'];
     $userDB = new AlarmUserModelDB();
     if (!empty($username) && !empty($clientId)) {
         $sql = "SELECT `id` FROM `" . $userDB->getTableName() . "` WHERE `username` = ?";
         $userId = $userDB->getFirst($sql, array($username));
         if (!empty($userId)) {
             $updateArr = array();
             $updateArr['client_id'] = $clientId;
             $userDB->update($updateArr, array('id' => $userId));
             Message::showSucc('succ');
         } else {
             Message::showError('no such user');
         }
     } else {
         Message::showError('username or clientid is empty');
     }
 }