This commit is contained in:
aozhiwei 2020-06-16 19:23:47 +08:00
parent 29cee9c40e
commit 2f564278ee
6 changed files with 49 additions and 33 deletions

View File

@ -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);
}
}

View File

@ -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;

View File

@ -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(),

View File

@ -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;

View File

@ -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

View File

@ -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);