This commit is contained in:
aozhiwei 2019-06-02 19:28:20 +08:00
parent 4f72b8dba2
commit 285694826f
4 changed files with 21 additions and 1 deletions

View File

@ -14,7 +14,7 @@
#include "app.h"
#include "handlermgr.h"
#include "virtualclient.h"
#include "virtualclientmgr.h"
#include "ss_msgid.pb.h"
#include "ss_proto.pb.h"
@ -89,6 +89,7 @@ void App::Init(int argc, char* argv[])
f8::TGLog::Instance()->Init(a8::Format(PROJ_NAME_FMT, {GAME_ID}), false);
f8::HttpClientPool::Instance()->Init(10);
uuid.SetMachineId(instance_id);
VirtualClientMgr::Instance()->Init();
a8::UdpLog::Instance()->Info("robotserver starting instance_id:%d pid:%d", {instance_id, getpid()});
{
@ -110,6 +111,7 @@ void App::UnInit()
if (terminated) {
return;
}
VirtualClientMgr::Instance()->UnInit();
f8::HttpClientPool::Instance()->UnInit();
f8::MsgQueue::Instance()->UnInit();
a8::Timer::Instance()->UnInit();
@ -208,6 +210,7 @@ void App::QuickExecute(int delta_time)
ProcessIMMsg();
DispatchMsg();
a8::Timer::Instance()->Update();
VirtualClientMgr::Instance()->Update();
}
void App::SlowerExecute(int delta_time)

View File

@ -5,6 +5,12 @@ namespace a8
class TcpClient;
}
enum VirtualClientState_e
{
VCS_Init,
VCS_Joined,
};
class VirtualClient
{
public:
@ -24,6 +30,7 @@ class VirtualClient
void on_socketread(a8::TcpClient* sender, char* buf, unsigned int len);
private:
VirtualClientState_e state_ = VCS_Init;
char *recv_buff_ = nullptr;
unsigned int recv_bufflen_ = 0;

View File

@ -8,6 +8,7 @@ void VirtualClientMgr::Init()
{
for (int i = 1; i <= App::Instance()->test_param; ++i) {
VirtualClient* client = new VirtualClient();
client->instance_id = i;
client->account = a8::Format("test%d", {i});
client->remote_ip = App::Instance()->wsp_host;
client->remote_port = App::Instance()->wsp_port;
@ -20,3 +21,11 @@ void VirtualClientMgr::UnInit()
{
}
void VirtualClientMgr::Update()
{
for (auto& pair : account_hash_) {
pair.second->Update();
}
}

View File

@ -17,6 +17,7 @@ class VirtualClientMgr : public a8::Singleton<VirtualClientMgr>
void Init();
void UnInit();
void Update();
private:
std::map<std::string, VirtualClient*> account_hash_;