From 2f564278ee705e269ca9d1dea4402afff84d27f8 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Tue, 16 Jun 2020 19:23:47 +0800 Subject: [PATCH] 1 --- server/imserver/MSConn.cc | 24 +++++++++++++------ server/imserver/MSConn.h | 1 + server/imserver/player.cc | 6 ++--- server/imserver/playermgr.cc | 2 +- server/imserver/typeconvert.cc | 44 ++++++++++++++++++---------------- server/imserver/typeconvert.h | 5 ++-- 6 files changed, 49 insertions(+), 33 deletions(-) diff --git a/server/imserver/MSConn.cc b/server/imserver/MSConn.cc index 383f71e..de14da9 100644 --- a/server/imserver/MSConn.cc +++ b/server/imserver/MSConn.cc @@ -33,13 +33,15 @@ void MSConn::Init(int instance_id, const std::string& remote_ip, int remote_port tcp_client_->on_connect = std::bind(&MSConn::on_connect, this, std::placeholders::_1); tcp_client_->on_disconnect = std::bind(&MSConn::on_disconnect, this, std::placeholders::_1); tcp_client_->on_socketread = std::bind(&MSConn::on_socketread, this ,std::placeholders::_1, std::placeholders::_2, std::placeholders::_3); - timer_ = a8::Timer::Instance()->AddRepeatTimer(1000 * 9 + a8::RandEx(500, 150), - a8::XParams().SetSender(this), - [] (const a8::XParams& param) - { - MSConn* conn = (MSConn*)param.sender.GetUserData(); - conn->CheckAlive(); - }); + timer_ = a8::Timer::Instance()->AddRepeatTimer + (1000 * 9 + a8::RandEx(500, 150), + a8::XParams().SetSender(this), + [] (const a8::XParams& param) + { + MSConn* conn = (MSConn*)param.sender.GetUserData(); + conn->CheckAlive(); + conn->SyncIMServerList(); + }); } void MSConn::UnInit() @@ -173,3 +175,11 @@ void MSConn::CheckAlive() } } } + +void MSConn::SyncIMServerList() +{ + if (Connected()) { + ss::SS_IM_IMServerList msg; + SendMsg(msg); + } +} diff --git a/server/imserver/MSConn.h b/server/imserver/MSConn.h index 1bf1728..b5df570 100644 --- a/server/imserver/MSConn.h +++ b/server/imserver/MSConn.h @@ -42,6 +42,7 @@ class MSConn void on_socketread(a8::AsyncTcpClient* sender, char* buf, unsigned int len); void CheckAlive(); + void SyncIMServerList(); private: char *recv_buff_ = nullptr; diff --git a/server/imserver/player.cc b/server/imserver/player.cc index f7221fa..54a4988 100644 --- a/server/imserver/player.cc +++ b/server/imserver/player.cc @@ -87,7 +87,7 @@ void Player::_CMUpdateUserInfo(f8::MsgHdr& hdr, const cs::CMUpdateUserInfo& msg) if (msg.has_user_value3()) { data.base_data.user_value3 = msg.user_value3(); } - ++data.base_data.data_version1; + ++data.base_data.base_data_version; OnDataVersion1Change(); } @@ -152,7 +152,7 @@ void Player::_CMFriendApply(f8::MsgHdr& hdr, const cs::CMFriendApply& msg) data.base_data.avatar_url, data.base_data.sex, data.base_data.group_id, - data.base_data.data_version1, + data.base_data.base_data_version, App::Instance()->nowtime }, a8::XParams(), @@ -490,7 +490,7 @@ void Player::SaveToDB() data.base_data.avatar_url, data.base_data.sex, data.base_data.group_id, - data.base_data.data_version1, + data.base_data.base_data_version, data.base_data.account_id }, a8::XParams(), diff --git a/server/imserver/playermgr.cc b/server/imserver/playermgr.cc index 2b521d3..78b900a 100644 --- a/server/imserver/playermgr.cc +++ b/server/imserver/playermgr.cc @@ -351,7 +351,7 @@ void PlayerMgr::AsyncLoginOnOk(const std::string& account_id, hum->data.base_data.avatar_url = avatar_url; hum->data.base_data.sex = sex; hum->data.base_data.group_id = group_id; - hum->data.base_data.data_version1 = data_version1; + hum->data.base_data.base_data_version = data_version1; hum->data.base_data.user_value1 = user_value1; hum->data.base_data.user_value2 = user_value2; hum->data.base_data.user_value3 = user_value3; diff --git a/server/imserver/typeconvert.cc b/server/imserver/typeconvert.cc index 264c0c7..8703f07 100644 --- a/server/imserver/typeconvert.cc +++ b/server/imserver/typeconvert.cc @@ -6,41 +6,45 @@ void TypeConvert::Convert(const cs::MFFriendApply& apply_pb, FriendApply& apply) { + apply.idx = apply_pb.idx(); + apply.applyid = apply_pb.applyid(); + apply.sender_id = apply_pb.account_id(); + apply.sender_nickname = apply_pb.nickname(); + apply.sender_avatar_url = apply_pb.avatar_url(); + apply.sender_sex = apply_pb.sex(); } void TypeConvert::Convert(const FriendApply& apply, cs::MFFriendApply& apply_pb) { - + apply_pb.set_idx(apply.idx); + apply_pb.set_applyid(apply.applyid); + apply_pb.set_account_id(apply.sender_id); + apply_pb.set_nickname(apply.nickname); + apply_pb.set_avatar_url(apply.avatar_url); + apply_pb.set_sex(apply.sex); } void TypeConvert::Convert(const BaseUserData& base_data, ss::MFBaseUserDataDB& base_data_pb) { - + base_data_pb.set_account_id(base_data.account_id); + base_data_pb.set_nickname(base_data.nickname); + base_data_pb.set_avatar_url(base_data.avatar_url); + base_data_pb.set_sex(base_data.sex); + #if 0 + base_data_pb.set_group_id(base_data.group_id); + #endif + base_data_pb.set_user_value1(base_data.user_value1); + base_data_pb.set_user_value2(base_data.user_value2); + base_data_pb.set_user_value3(base_data.user_value3); + base_data_pb.set_base_data_version(base_data.base_data_version); } -void TypeConvert::Convert(const ss::MFBaseUserDataDB& base_data_pb, const BaseUserData& base_data) -{ - -} - -void TypeConvert::Convert(const BaseUserData& base_data, cs::MFBaseUserData& base_data_pb) -{ - -} - -void TypeConvert::Convert(const UserTempCustomData& temp_custom_data, - cs::MFUserTempCustomData& tmpe_custom_data_pb) -{ - -} - -void TypeConvert::Convert(const cs::MFBaseUserData& base_data_pb, BaseUserData& base_data) +void TypeConvert::Convert(const ss::MFBaseUserDataDB& base_data_pb, BaseUserData& base_data) { base_data.account_id = base_data_pb.account_id(); base_data.nickname = base_data_pb.nickname(); base_data.avatar_url = base_data_pb.avatar_url(); base_data.sex = base_data_pb.sex(); - base_data.online = base_data_pb._online(); #if 0 base_data.group_id = base_data_pb.group_id(); #endif diff --git a/server/imserver/typeconvert.h b/server/imserver/typeconvert.h index 94b61d9..fcad644 100644 --- a/server/imserver/typeconvert.h +++ b/server/imserver/typeconvert.h @@ -17,9 +17,10 @@ class TypeConvert public: static void Convert(const cs::MFFriendApply& apply_pb, FriendApply& apply); static void Convert(const FriendApply& apply, cs::MFFriendApply& apply_pb); + static void Convert(const BaseUserData& base_data, ss::MFBaseUserDataDB& base_data_pb); - static void Convert(const ss::MFBaseUserDataDB& base_data_pb, const BaseUserData& base_data); - static void Convert(const cs::MFBaseUserData& base_data_pb, BaseUserData& base_data); + static void Convert(const ss::MFBaseUserDataDB& base_data_pb, BaseUserData& base_data); + static void Convert(const BaseUserData& base_data, cs::MFBaseUserData& base_data_pb); static void Convert(const cs::MFUserTempCustomData& temp_custom_data_pb, UserTempCustomData& temp_custom_data);