8
8
using GameFrameX . NetWork . Messages ;
9
9
using GameFrameX . SuperSocket . Connection ;
10
10
using GameFrameX . SuperSocket . Primitives ;
11
+ using GameFrameX . SuperSocket . ProtoBase ;
11
12
using GameFrameX . SuperSocket . Server ;
12
13
using GameFrameX . SuperSocket . Server . Abstractions ;
13
14
using GameFrameX . SuperSocket . Server . Abstractions . Session ;
@@ -52,6 +53,8 @@ public async void RunServer(bool reload)
52
53
53
54
private async Task StartServer ( )
54
55
{
56
+ messageEncoderHandler . SetCompressionHandler ( new BaseMessageCompressHandler ( ) ) ;
57
+ messageDecoderHandler . SetDecompressionHandler ( new BaseMessageDecompressHandler ( ) ) ;
55
58
if ( Setting . WsPort > 0 )
56
59
{
57
60
LogHelper . Info ( "启动 WebSocket 服务器开始..." ) ;
@@ -75,6 +78,9 @@ private async Task StartServer()
75
78
. UseInProcSessionContainer ( )
76
79
. BuildAsServer ( ) ;
77
80
81
+ // 设置消息解压缩的处理器
82
+ var baseMessageDecoderHandler = ( BaseMessageDecoderHandler ) tcpService . ServiceProvider . GetService ( typeof ( IPackageDecoder < INetworkMessage > ) ) ;
83
+ baseMessageDecoderHandler ? . SetDecompressionHandler ( new BaseMessageDecompressHandler ( ) ) ;
78
84
await tcpService . StartAsync ( ) ;
79
85
LogHelper . Info ( "启动 TCP 服务器完成..." ) ;
80
86
}
@@ -127,8 +133,8 @@ private async ValueTask WebSocketMessageHandler(WebSocketSession session, WebSoc
127
133
return ;
128
134
}
129
135
130
- var bytes = message . Data ;
131
- var buffer = bytes . ToArray ( ) ;
136
+ var bytes = message . Data ;
137
+ var buffer = bytes . ToArray ( ) ;
132
138
var messageObject = messageDecoderHandler . Handler ( buffer ) ;
133
139
await MessagePackageHandler ( session , messageObject ) ;
134
140
}
@@ -154,7 +160,7 @@ private async ValueTask MessagePackageHandler(IAppSession appSession, INetworkMe
154
160
return ;
155
161
}
156
162
157
- handler . Message = message ;
163
+ handler . Message = message ;
158
164
handler . NetWorkChannel = GameClientSessionManager . GetSession ( appSession . SessionID ) ;
159
165
await handler . Init ( ) ;
160
166
await handler . InnerAction ( ) ;
@@ -164,7 +170,7 @@ private async ValueTask MessagePackageHandler(IAppSession appSession, INetworkMe
164
170
private void ConfigureWebServer ( HostBuilderContext context , IConfigurationBuilder builder )
165
171
{
166
172
builder . AddInMemoryCollection ( new Dictionary < string , string > ( )
167
- { { "serverOptions:name" , "GameServer" } , { "serverOptions:listeners:0:ip" , "Any" } , { "serverOptions:listeners:0:port" , Setting . WsPort . ToString ( ) } } ) ;
173
+ { { "serverOptions:name" , "GameServer" } , { "serverOptions:listeners:0:ip" , "Any" } , { "serverOptions:listeners:0:port" , Setting . WsPort . ToString ( ) } } ) ;
168
174
}
169
175
170
176
public async Task StopServer ( )
0 commit comments