$resp = array('errno' => 0, 'errmsg' => '', 'data' => array()); $uid2 = $_REQUEST['uid2']; $text = $_REQUEST['text']; $uid2 = htmlspecialchars(trim($uid2)); $text = htmlspecialchars(trim($text)); if (!strlen($uid2) || strlen($uid2) > 32 || !strlen($text)) { $resp['errno'] = 1; $resp['errmsg'] = 'Bad parameter!'; } else { if (strlen($text) > 1000) { $resp['errno'] = 1; $resp['errmsg'] = 'content too long!'; } else { $uid = $user['uname']; $svc = new ChatSvc(); $msg = $svc->send($uid, $uid2, $text); $comet_msg = $msg; $comet_msg['time'] = date('Y-m-d H:i:s', $comet_msg['time']); comet_push($uid2, json_encode($comet_msg)); $resp['data'] = $msg; } } echo json_encode($resp); function comet_push($cname, $content) { $cname = urlencode($cname); $content = urlencode($content); $url = "http://127.0.0.1:8000/push?cname={$cname}&content={$content}"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
<?php include 'ChatSvc.php'; $svc = new ChatSvc(); $svc->send('a', 'kf_1', 'hi ' . date('Y-m-d')); #$svc->send('b', 'kf_2', 'hi ' . date('Y-m-d')); #$svc->send('b', 'kf_3', 'hi ' . date('Y-m-d')); $ret = $svc->listMessages('a', 'kf_1', 10); var_dump($ret);