1
This commit is contained in:
parent
285694826f
commit
d3bc4bba6a
@ -8,6 +8,7 @@ enum SocketFrom_e
|
||||
enum InnerMesssage_e
|
||||
{
|
||||
IM_VirtualClientDisconnect = 100,
|
||||
IM_VirtualClientConnect,
|
||||
IM_PlayerOffline,
|
||||
IM_ExecGM,
|
||||
IM_DBSConnDisconnect,
|
||||
|
@ -43,7 +43,7 @@ void VirtualClient::on_connect(a8::TcpClient* sender)
|
||||
{
|
||||
recv_bufflen_ = 0;
|
||||
a8::UdpLog::Instance()->Info("target server connected", {});
|
||||
App::Instance()->AddIMMsg(IM_VirtualClientDisconnect,
|
||||
App::Instance()->AddIMMsg(IM_VirtualClientConnect,
|
||||
a8::XParams()
|
||||
.SetSender(instance_id)
|
||||
);
|
||||
|
@ -23,6 +23,12 @@ class VirtualClient
|
||||
void UnInit();
|
||||
void Update();
|
||||
|
||||
template <typename T>
|
||||
void SendMsg(T& msg)
|
||||
{
|
||||
static int msgid = f8::Net_GetMessageId(msg);
|
||||
}
|
||||
|
||||
private:
|
||||
void on_error(a8::TcpClient* sender, int errorId);
|
||||
void on_connect(a8::TcpClient* sender);
|
||||
|
@ -13,6 +13,7 @@ void VirtualClientMgr::Init()
|
||||
client->remote_ip = App::Instance()->wsp_host;
|
||||
client->remote_port = App::Instance()->wsp_port;
|
||||
account_hash_[client->account] = client;
|
||||
instanceid_hash_[client->instance_id] = client;
|
||||
client->Init();
|
||||
}
|
||||
}
|
||||
@ -29,3 +30,14 @@ void VirtualClientMgr::Update()
|
||||
}
|
||||
}
|
||||
|
||||
VirtualClient* VirtualClientMgr::GetVirtualClientByAccount(const std::string& account)
|
||||
{
|
||||
auto itr = account_hash_.find(account);
|
||||
return itr != account_hash_.end() ? itr->second: nullptr;
|
||||
}
|
||||
|
||||
VirtualClient* VirtualClientMgr::GetVirtualClientByInstanceId(int instance_id)
|
||||
{
|
||||
auto itr = instanceid_hash_.find(instance_id);
|
||||
return itr != instanceid_hash_.end() ? itr->second : nullptr;
|
||||
}
|
||||
|
@ -19,6 +19,11 @@ class VirtualClientMgr : public a8::Singleton<VirtualClientMgr>
|
||||
void UnInit();
|
||||
void Update();
|
||||
|
||||
VirtualClient* GetVirtualClientByAccount(const std::string& account);
|
||||
VirtualClient* GetVirtualClientByInstanceId(int instance_id);
|
||||
|
||||
private:
|
||||
std::map<std::string, VirtualClient*> account_hash_;
|
||||
std::map<int, VirtualClient*> instanceid_hash_;
|
||||
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user