From 608fd18c263c058b9c2b76f1ff5d030ada3c4abf Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sun, 28 May 2023 15:44:19 +0800 Subject: [PATCH] 1 --- server/robotserver/player.h | 13 ++++++-- server/robotserver/playermgr.cc | 56 ++++++++++++++++----------------- server/robotserver/playermgr.h | 3 +- 3 files changed, 40 insertions(+), 32 deletions(-) diff --git a/server/robotserver/player.h b/server/robotserver/player.h index 5cf56e48..fd3d6e84 100644 --- a/server/robotserver/player.h +++ b/server/robotserver/player.h @@ -1,9 +1,18 @@ #pragma once +namespace a8 +{ + class WebSocketClient; +} + class Player { public: - std::string account_id; - std::string session_id; + + private: + std::string account_id_; + std::string session_id_; + + std::shared_ptr web_socket_; }; diff --git a/server/robotserver/playermgr.cc b/server/robotserver/playermgr.cc index cbdc68ec..60c39f7f 100644 --- a/server/robotserver/playermgr.cc +++ b/server/robotserver/playermgr.cc @@ -15,36 +15,36 @@ void PlayerMgr::Init() { - f8::CoMgr::Instance()->CreateCo - ( - [] (f8::Coroutine* co) - { - bool ret = false; - std::shared_ptr rsp; - co->CoAwait - (HttpProxy::Instance()->CoHttpGet - ( - "https://game2006-test.kingsome.cn/webapp/index.php?c=Ops&a=selfChecking&", - a8::XObject(), - &ret, - &rsp - ) - ); - if (ret) { - a8::XPrintf("rsp:%s\n", {rsp->ToJsonStr()}); - } else { - abort(); - } - }); - web_socket = std::make_shared - ( - *IoMgr::Instance()->GetIoContext(0), - "192.168.100.21", - 7601 - ); - web_socket->Open(); + for (int i = 0; i < 10; ++i) { + f8::CoMgr::Instance()->CreateCo + ( + [this, i] (f8::Coroutine* co) + { + CoCreatePlayer(i, co); + }); + } } void PlayerMgr::UnInit() { } + +void PlayerMgr::CoCreatePlayer(int idx, f8::Coroutine* co) +{ + bool ret = false; + std::shared_ptr rsp; + co->CoAwait + (HttpProxy::Instance()->CoHttpGet + ( + "https://game2006-test.kingsome.cn/webapp/index.php?c=Ops&a=selfChecking&", + a8::XObject(), + &ret, + &rsp + ) + ); + if (ret) { + a8::XPrintf("rsp:%s\n", {rsp->ToJsonStr()}); + } else { + abort(); + } +} diff --git a/server/robotserver/playermgr.h b/server/robotserver/playermgr.h index 9369fb60..1450eb92 100644 --- a/server/robotserver/playermgr.h +++ b/server/robotserver/playermgr.h @@ -1,7 +1,6 @@ #pragma once #include -#include class Player; class PlayerMgr : public a8::Singleton @@ -16,8 +15,8 @@ class PlayerMgr : public a8::Singleton public: void Init(); void UnInit(); + void CoCreatePlayer(int idx, f8::Coroutine* co); private: - std::shared_ptr web_socket; std::map> account_id_hash_; };