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