From abc2faa31184124e918d83eefbe15a0dacd365a8 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Wed, 9 Aug 2023 15:25:58 +0800 Subject: [PATCH] add mtb cs ss --- server/imserver/cs/go.mod | 8 ++ server/imserver/cs/go.sum | 19 +++++ server/imserver/mtb/go.mod | 8 ++ server/imserver/mtb/go.sum | 19 +++++ server/imserver/proto/cs_msgid.proto | 19 +++++ server/imserver/proto/cs_proto.proto | 117 +++++++++++++++++++++++++++ server/imserver/proto/mt.proto | 8 ++ server/imserver/proto/ss_msgid.proto | 14 ++++ server/imserver/proto/ss_proto.proto | 35 ++++++++ server/imserver/ss/go.mod | 8 ++ server/imserver/ss/go.sum | 19 +++++ 11 files changed, 274 insertions(+) create mode 100644 server/imserver/cs/go.mod create mode 100644 server/imserver/cs/go.sum create mode 100644 server/imserver/mtb/go.mod create mode 100644 server/imserver/mtb/go.sum create mode 100644 server/imserver/proto/cs_msgid.proto create mode 100644 server/imserver/proto/cs_proto.proto create mode 100644 server/imserver/proto/mt.proto create mode 100644 server/imserver/proto/ss_msgid.proto create mode 100644 server/imserver/proto/ss_proto.proto create mode 100644 server/imserver/ss/go.mod create mode 100644 server/imserver/ss/go.sum diff --git a/server/imserver/cs/go.mod b/server/imserver/cs/go.mod new file mode 100644 index 00000000..a580fa43 --- /dev/null +++ b/server/imserver/cs/go.mod @@ -0,0 +1,8 @@ +module cs + +go 1.20 + +require ( + github.com/golang/protobuf v1.4.2 + google.golang.org/protobuf v1.23.0 +) diff --git a/server/imserver/cs/go.sum b/server/imserver/cs/go.sum new file mode 100644 index 00000000..99386c17 --- /dev/null +++ b/server/imserver/cs/go.sum @@ -0,0 +1,19 @@ +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= diff --git a/server/imserver/mtb/go.mod b/server/imserver/mtb/go.mod new file mode 100644 index 00000000..0c45c6a3 --- /dev/null +++ b/server/imserver/mtb/go.mod @@ -0,0 +1,8 @@ +module mtb + +go 1.20 + +require ( + github.com/golang/protobuf v1.4.2 + google.golang.org/protobuf v1.23.0 +) diff --git a/server/imserver/mtb/go.sum b/server/imserver/mtb/go.sum new file mode 100644 index 00000000..99386c17 --- /dev/null +++ b/server/imserver/mtb/go.sum @@ -0,0 +1,19 @@ +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= diff --git a/server/imserver/proto/cs_msgid.proto b/server/imserver/proto/cs_msgid.proto new file mode 100644 index 00000000..cc78bc69 --- /dev/null +++ b/server/imserver/proto/cs_msgid.proto @@ -0,0 +1,19 @@ +package cs; + +//消息id定义 +enum CMMessageId_e +{ + _CMPing = 101; + + _CMLogin = 103; + _CMReconnect = 104; +} + +enum SMMessageId_e +{ + _SMPing = 101; + _SMRpcError = 102; + _SMReconnect = 104; + + _SMLogin = 103; +} diff --git a/server/imserver/proto/cs_proto.proto b/server/imserver/proto/cs_proto.proto new file mode 100644 index 00000000..9d6d6947 --- /dev/null +++ b/server/imserver/proto/cs_proto.proto @@ -0,0 +1,117 @@ +package cs; + +/* + 约定: + CM前缀:客户端发给服务器的消息(client message) + SM前缀:服务器发给客户的的消息(server message) + MF前缀:消息的内嵌字段,只能作为其他消息的内嵌字段不能send(message field) + _e后缀:枚举类型 + _uniid后缀:唯一id + union_前缀:联合体 + _前缀:该字段仅服务器使用客户端无需处理 + + 网络包格式:msghead + msgbody + msghead: packagelen + msgid + seqid + magiccode + reserved = 2 + 2 + 4 + 2 + 2 = 12字节 + msgbody: protobuf数据 + msghead说明 + packagelen(unsigned short): 双字节网络包长度, + msgid(unsigned short): 双字节消息id + seqid(unsigned int): 4字节序号id + magiccode(unsigned short): 2字节魔数,并且为固定常数KS,占位符客户端不需什么处理 + reserved(unsigned short): 保留 + + 十六进制位运算数据表示法 + 0x01 == 1<<0 + 0x02 == 1<<1 + 0x04 == 1<<2 +*/ + +//常量 +enum Constant_e +{ + ProtoVersion = 2023051601; //系统版本 +} + +//心跳 +message CMPing +{ +} +message SMPing +{ + optional int32 param1 = 1; + optional int32 source = 2 [default = 0]; //0:tcp 1:udp +} + +//rpc调用错误 +message SMRpcError +{ + optional int32 error_code = 1; + optional string error_msg = 2; + optional string debug_msg = 3; + optional string file = 4; + optional int32 lineno = 5; + optional int32 error_param = 6; +} + +//int32键值对 +message MFPair +{ + optional int32 key = 1; //key + optional int32 value = 2; //val +} + +//int64键值对 +message MFPair64 +{ + optional int64 key = 1; //key + optional int64 value = 2; //val +} + +//int32元组 +message MFTuple +{ + repeated int32 values = 1; //values +} + +//string元组 +message MFTupleString +{ + repeated string values = 1; //values +} + +//登录 +message CMLogin +{ + optional int32 server_id = 1; //保留 + optional string team_uuid = 2; //保留 + optional string account_id = 3; //账号id + optional int32 proto_version = 5; //协议版本号Constant_e.ProtoVersion + optional string session_id = 20; //账号id + + +} + +//登录回复 +message SMLogin +{ + optional string server_info = 1; //服务器信息(重连时使用) +} + +//断线重连 +message CMReconnect +{ + optional int32 server_id = 1; //保留 + optional string team_uuid = 2; //保留 + optional string account_id = 3; //账号id + optional string session_id = 4; //session_id + optional string room_uuid = 5; //房间唯一id + optional string server_info = 6; //服务器信息 + +} + +//断线重连回复 +message SMReconnect +{ + optional int32 errcode = 1; //错误码 0:成功 1:重连失败 + optional string errmsg = 2; //错误描述 +} diff --git a/server/imserver/proto/mt.proto b/server/imserver/proto/mt.proto new file mode 100644 index 00000000..059aec79 --- /dev/null +++ b/server/imserver/proto/mt.proto @@ -0,0 +1,8 @@ +package mt; + +option go_package = ".;mt"; + +message Server +{ + optional int32 listen_port = 1; +} diff --git a/server/imserver/proto/ss_msgid.proto b/server/imserver/proto/ss_msgid.proto new file mode 100644 index 00000000..0595eb52 --- /dev/null +++ b/server/imserver/proto/ss_msgid.proto @@ -0,0 +1,14 @@ +package ss; + +//消息id定义 +enum SSMessageId_e +{ + _SS_Ping = 8; + _SS_Pong = 9; + + _SS_WSP_SocketDisconnect = 10; + _SS_WSP_RequestTargetServer = 11; + _SS_MS_ResponseTargetServer = 12; + _SS_ForceCloseSocket = 13; + +} diff --git a/server/imserver/proto/ss_proto.proto b/server/imserver/proto/ss_proto.proto new file mode 100644 index 00000000..be049059 --- /dev/null +++ b/server/imserver/proto/ss_proto.proto @@ -0,0 +1,35 @@ +package ss; + +message SS_Ping +{ + +} + +message SS_Pong +{ + +} + +message SS_WSP_SocketDisconnect +{ +} + +message SS_WSP_RequestTargetServer +{ + optional int64 context_id = 1; + optional string account_id = 2; + optional string team_id = 3; +} + +message SS_MS_ResponseTargetServer +{ + 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_ForceCloseSocket +{ +} diff --git a/server/imserver/ss/go.mod b/server/imserver/ss/go.mod new file mode 100644 index 00000000..a11cf5e1 --- /dev/null +++ b/server/imserver/ss/go.mod @@ -0,0 +1,8 @@ +module ss + +go 1.20 + +require ( + github.com/golang/protobuf v1.4.2 + google.golang.org/protobuf v1.23.0 +) diff --git a/server/imserver/ss/go.sum b/server/imserver/ss/go.sum new file mode 100644 index 00000000..99386c17 --- /dev/null +++ b/server/imserver/ss/go.sum @@ -0,0 +1,19 @@ +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=