返回的信息來判斷是否推送成功,來達到離線目的;目前這個推送是否成功怎么判斷
你好,問下我用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');
};
// 執(zhí)行監(jiān)聽
$inner_http_worker->listen();
uidConnectionMap用這個來判斷在線、離線太簡陋了,IOS系統(tǒng)無法實現(xiàn),
目前我想用發(fā)送成功還是失敗來判斷是否是離線還是在線
https://github.com/walkor/phpsocket.io/tree/master/docs/zh
接收消息參考手冊,自定義一個消息,然后客戶端emit這個消息
你好,客戶端通過emit這個方法,返回給服務器么,那服務器端在哪里接收這個狀態(tài)信息
<script>
// 連接服務端
var socket = io('http://127.0.0.1:3120');
// 觸發(fā)服務端的chat message事件
socket.emit('chat message', '這個是消息內容...');
<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();
});
// 后端推送來在線數(shù)據(jù)時
socket.on('update_online_count', function(online_stat){
$('#online_box').html(online_stat);
});
});
</script>
// PHPSocketIO服務
$sender_io = new SocketIO(2120);
// 客戶端發(fā)起連接事件時,設置連接socket的各種事件回調
$sender_io->on('connection', function($socket){
// ======這里接收客戶端的回應 =======
$socket->on('ack', function($some_thing){
// $some_thing是客戶端回應的內容
});
// 當客戶端發(fā)來登錄事件時觸發(fā)
$socket->on('login', ......
});
例子,其實就是手冊那點東西,ack是自定義消息類型,可以是任意的字符串
你好,APP應用關閉后,我重新打開APP獲取離線數(shù)據(jù),
但是這個方法好像沒重新執(zhí)行
socket.on('connect', function(){
socket.emit('login', userid);
});