void on_close(connection_ptr con) { m_con = connection_ptr(); con->stop_heartbeat(); con->alog().at(log::alevel::DEVEL)<<"client was disconnected sid "<< con->m_endpoint.m_strSid <<log::endl; }
void on_open(connection_ptr con) { m_con = con; con->alog().at(log::alevel::DEVEL)<<"Successfully connected sid "<< con->m_endpoint.m_strSid <<log::endl; }
void on_connect(connection_ptr con) { con->alog().at(log::alevel::DEVEL)<<"Connection on_connect"<< log::endl; }
void on_fail(connection_ptr con) { con->alog().at(log::alevel::DEVEL)<<"Connection Connection connected "<< log::endl; }
// got a new message from server void on_message(connection_ptr con, message_ptr msg){ //https://github.com/LearnBoost/socket.io-spec#Encoding /* 0 Disconnect 1:: Connect 2:: Heartbeat 3:: Message 4:: Json Message 5:: Event 6 Ack 7 Error 8 noop */ std::string strm = msg->get_payload(); char f = strm[0]; std::string::size_type p = 1; for(int i = 0 ; i < 2; i++){ p = strm.find_first_of(':',p+1); } std::string data = strm.substr(p+1); con->alog().at(log::alevel::DEVEL)<<"revc: "<< strm <<log::endl; con->alog().at(log::alevel::DEVEL)<<"type: "<< f <<" data: "<< data <<log::endl; Json::Reader r; Json::Value v; switch(f){ case '0': close(); break; case '1': on_connect(con); break; case '2': con->send_heartbeat(); break; case '3': on_strmessage(data,msg); break; case '4': on_jsonmessage(data,msg); /* var fe:FlashSocketEvent = new FlashSocketEvent(FlashSocketEvent.MSG_JSON); fe.data = JSON.decode(dm.msg); dispatchEvent(fe); */ break; case '5': if(r.parse(data,v)){ on_event(v["name"].asString(),v["args"],msg); }else{ con->alog().at(log::alevel::DEVEL)<<"parse json failed error "<< data <<log::endl; } /* var m:Object = JSON.decode(dm.msg); var e:FlashSocketEvent = new FlashSocketEvent(FlashSocketEvent.EVENT); e.data = m; dispatchEvent(e); */ break; case '7': //on_fail(); /* var m:Object = JSON.decode(dm.msg); var e:FlashSocketEvent = new FlashSocketEvent(FlashSocketEvent.CONNECT_ERROR); e.data = dm.msg; dispatchEvent(e); */ break; default: break; } }