From 09ad4bea1d710966fbe330bd8fe9c6d07f991cd4 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Sun, 24 Mar 2024 13:27:29 +0800 Subject: [PATCH] 1 --- server/tools/protobuild/ss_msgid.proto | 2 ++ server/tools/protobuild/ss_proto.proto | 16 ++++++++++++++++ server/wsproxy/handlermgr.cc | 1 + server/wsproxy/mastermgr.cc | 5 +++++ server/wsproxy/mastermgr.h | 2 ++ 5 files changed, 26 insertions(+) diff --git a/server/tools/protobuild/ss_msgid.proto b/server/tools/protobuild/ss_msgid.proto index c6868a6..940f319 100644 --- a/server/tools/protobuild/ss_msgid.proto +++ b/server/tools/protobuild/ss_msgid.proto @@ -9,6 +9,8 @@ enum SSMessageId_e _SS_WSP_RequestTargetServer = 11; _SS_MS_ResponseTargetServer = 12; _SS_ForceCloseSocket = 13; + _SS_WSP_HttpTunnelRequest = 14; + _SS_MS_HttpTunnelResponse = 15; _SS_CMKcpHandshake = 99; _SS_CMPing = 101; diff --git a/server/tools/protobuild/ss_proto.proto b/server/tools/protobuild/ss_proto.proto index 1c6ed51..e78e8b1 100644 --- a/server/tools/protobuild/ss_proto.proto +++ b/server/tools/protobuild/ss_proto.proto @@ -78,6 +78,22 @@ message SS_MS_ResponseTargetServer optional int32 port = 5; } +message SS_WSP_HttpTunnelRequest +{ + optional int64 context_id = 1; + optional string url = 7; + optional string query_str = 8; +} + +message SS_MS_HttpTunnelResponse +{ + optional int32 error_code = 1; + optional string error_msg = 2; + optional int64 context_id = 3; + optional string host = 4; + optional int32 port = 5; +} + message SS_SMRpcError { optional int32 error_code = 1; diff --git a/server/wsproxy/handlermgr.cc b/server/wsproxy/handlermgr.cc index 4633e65..f54bd9f 100644 --- a/server/wsproxy/handlermgr.cc +++ b/server/wsproxy/handlermgr.cc @@ -85,6 +85,7 @@ void HandlerMgr::UnInit() void HandlerMgr::RegisterNetMsgHandlers() { RegisterNetMsgHandler(&msmsghandler, &MasterMgr::_SS_MS_ResponseTargetServer); + RegisterNetMsgHandler(&msmsghandler, &MasterMgr::_SS_MS_HttpTunnelResponse); } void HandlerMgr::ProcGMMsg(unsigned long saddr, int sockhandle, diff --git a/server/wsproxy/mastermgr.cc b/server/wsproxy/mastermgr.cc index fa0dfea..0ebf3aa 100644 --- a/server/wsproxy/mastermgr.cc +++ b/server/wsproxy/mastermgr.cc @@ -95,6 +95,11 @@ void MasterMgr::_SS_MS_ResponseTargetServer(f8::MsgHdr* hdr, const ss::SS_MS_Res } } +void MasterMgr::_SS_MS_HttpTunnelResponse(f8::MsgHdr* hdr, const ss::SS_MS_HttpTunnelResponse& msg) +{ + +} + std::shared_ptr MasterMgr::GetConnById(int instance_id) { auto itr = mastersvr_hash_.find(instance_id); diff --git a/server/wsproxy/mastermgr.h b/server/wsproxy/mastermgr.h index 7446e3d..1da2981 100644 --- a/server/wsproxy/mastermgr.h +++ b/server/wsproxy/mastermgr.h @@ -8,6 +8,7 @@ namespace f8 namespace ss { class SS_MS_ResponseTargetServer; + class SS_MS_HttpTunnelResponse; } class RequestTarget; @@ -27,6 +28,7 @@ class MasterMgr : public a8::Singleton void UnInit(); void _SS_MS_ResponseTargetServer(f8::MsgHdr* hdr, const ss::SS_MS_ResponseTargetServer& msg); + void _SS_MS_HttpTunnelResponse(f8::MsgHdr* hdr, const ss::SS_MS_HttpTunnelResponse& msg); void RequestTargetServer(f8::MsgHdr* hdr, const std::string& team_id, const std::string& account_id,