[
'local_cert' =>'/srv/nginx/ssl/xxxx.com.pem',
'local_pk' =>'/srv/nginx/ssl/xxxx.com.key',
'verify_peer' =>false,
'verify_peer_name' => false,
//是否允许自签名证书。
'allow_self_signed'=>true,
]
];// socket
public function __construct()
{
parent::__construct();
$this->onMessage();
// 或者这样调用
$this->worker->onWorkerStart = function($worker)
{
echo "Worker starting...\n";
};
}
/**
* 收到信息
* @param $connection
* @param $data
*/
public function onMessage()
{
$this->worker->onMessage = function($connection, $data)
{
$arr = json_decode($data,false);
if($arr->type=='bind'){
// 没验证的话把第一个包当做uid(这里为了方便演示,没做真正的验证)
$connection->uid = $arr->uid;
/* 保存uid到connection的映射,这样可以方便的通过uid查找connection,
* 实现针对特定uid推送数据
*/
$this->worker->uidConnections[$connection->uid] = $connection;
dump($arr);
dump($arr->uid);
}
if($arr->type=='text'){
if(isset($this->worker->uidConnections[$arr->to_user_id]))
{
$conn = $this->worker->uidConnections[$arr->to_user_id];
Db::name('chat_msg')->insertGetId([
'f_id'=>$arr->uid,
'f_name'=>time(),
'f_ip'=>'127.0.0.1',
't_id'=>$arr->to_user_id,
't_name'=>time(),
't_msg'=>$arr->data,
'r_state'=>0,
'add_time'=>time(),
]);
$conn->send($data);
dump('会员'.$arr->uid.'向'.$arr->to_user_id.$data.'参数:'.'时间啊:'.date('Y-m-d H:i:s',time()));
}else{
echo '用户不在线'.$arr->to_user_id;
}
}
};
}
}
本文共 个字数,平均阅读时长 ≈ 分钟,您已阅读:0时0分0秒。
649494848