你的浏览器禁用了JavaScript, 请开启后刷新浏览器获得更好的体验!
输入关键字进行搜索
搜索:
返回的信息来判断是否推送成功,来达到离线目的;目前这个推送是否成功怎么判断
没有找到相关结果
walkor
赞同来自:
客户端收到信息后给服务端发一个响应,服务端收到这个响应消息发送成功。
足迹
你好,问下我用web-msg-sender项目,看了他们的DEMO,不知道在哪个方法接收到返回消息的例子
$inner_http_worker->onMessage = function($http_connection, $data){ global $uidConnectionMap; global $sender_io; $sender_io->emit('new_msg', $_POST); // http接口返回,如果用户离线socket返回fail if($to && !isset($uidConnectionMap)){ return $http_connection->send('offline'); }else{ return $http_connection->send('ok'); } return $http_connection->send('fail'); }; // 执行监听 $inner_http_worker->listen();
uidConnectionMap用这个来判断在线、离线太简陋了,IOS系统无法实现, 目前我想用发送成功还是失败来判断是否是离线还是在线
https://github.com/walkor/phpsocket.io/tree/master/docs/zh 接收消息参考手册,自定义一个消息,然后客户端emit这个消息
<script> $(document).ready(function () { // 连接服务端 var socket = io('http://'+document.domain+':2120'); // 连接后登录 socket.on('connect', function(){ socket.emit('login', uid); }); // 后端推送来消息时 socket.on('new_msg', function(msg){ // ====== 给服务端回应 ====== socket.emit('ack', '回应内容'); $('#content').html('收到消息:'+msg); $('.notification.sticky').notify(); }); // 后端推送来在线数据时 socket.on('update_online_count', function(online_stat){ $('#online_box').html(online_stat); }); }); </script> // PHPSocketIO服务 $sender_io = new SocketIO(2120); // 客户端发起连接事件时,设置连接socket的各种事件回调 $sender_io->on('connection', function($socket){ // ======这里接收客户端的回应 ======= $socket->on('ack', function($some_thing){ // $some_thing是客户端回应的内容 }); // 当客户端发来登录事件时触发 $socket->on('login', ...... });
例子,其实就是手册那点东西,ack是自定义消息类型,可以是任意的字符串
你好,APP应用关闭后,我重新打开APP获取离线数据, 但是这个方法好像没重新执行 socket.on('connect', function(){ socket.emit('login', userid); });
要回复问题请先登录或注册
6 个回复
walkor
赞同来自:
客户端收到信息后给服务端发一个响应,服务端收到这个响应消息发送成功。
足迹
赞同来自:
你好,问下我用web-msg-sender项目,看了他们的DEMO,不知道在哪个方法接收到返回消息的例子
足迹
赞同来自:
uidConnectionMap用这个来判断在线、离线太简陋了,IOS系统无法实现,
目前我想用发送成功还是失败来判断是否是离线还是在线
walkor
赞同来自:
https://github.com/walkor/phpsocket.io/tree/master/docs/zh
接收消息参考手册,自定义一个消息,然后客户端emit这个消息
walkor
赞同来自:
例子,其实就是手册那点东西,ack是自定义消息类型,可以是任意的字符串
足迹
赞同来自:
你好,APP应用关闭后,我重新打开APP获取离线数据,
但是这个方法好像没重新执行
socket.on('connect', function(){
socket.emit('login', userid);
});