forked from powerfun/udpservice
内存优化
This commit is contained in:
1 parent
c3a9437fc8
commit
9f134a2d64
5 files changed
+88
-126
No files matched your search
+14
-19
@@ -129,47 +129,40 @@ namespace OnlineUserPool.Services
|
||||
this._dataBuffer.Append(item);
|
||||
if (item != '}') continue;
|
||||
Debug.WriteLine("收到消息:" + this._dataBuffer);
|
||||
|
||||
var msg = JsonConvert.DeserializeObject<ReceiveModel>(this._dataBuffer.ToString());
|
||||
var s = this._dataBuffer.ToString();
|
||||
var msg = JsonConvert.DeserializeObject<ReceiveModel>(s);
|
||||
var ipEndPoint = IPEndPoint.Parse(this.Socket.RemoteEndPoint.ToString());
|
||||
switch (msg.CommandType)
|
||||
{
|
||||
case 1:
|
||||
_action(ipEndPoint, JsonConvert.DeserializeObject<MsgModel>(this._dataBuffer.ToString()));
|
||||
_action(ipEndPoint, JsonConvert.DeserializeObject<MsgModel>(s));
|
||||
break;
|
||||
case 2:
|
||||
_action(ipEndPoint, JsonConvert.DeserializeObject<SetClientCommand>(this._dataBuffer.ToString()));
|
||||
_action(ipEndPoint, JsonConvert.DeserializeObject<SetClientCommand>(s));
|
||||
break;
|
||||
case 3:
|
||||
switch (msg.SubType)
|
||||
{
|
||||
case 0:
|
||||
_action(ipEndPoint,
|
||||
JsonConvert.DeserializeObject<CreateGameRoomCommand>(this._dataBuffer.ToString()));
|
||||
_action(ipEndPoint,JsonConvert.DeserializeObject<CreateGameRoomCommand>(s));
|
||||
break;
|
||||
case 1:
|
||||
_action(ipEndPoint,
|
||||
JsonConvert.DeserializeObject<JoinGameRoomCommand>(this._dataBuffer.ToString()));
|
||||
_action(ipEndPoint,JsonConvert.DeserializeObject<JoinGameRoomCommand>(s));
|
||||
break;
|
||||
case 2:
|
||||
_action(ipEndPoint,
|
||||
JsonConvert.DeserializeObject<GameRoomReadyCommand>(this._dataBuffer.ToString()));
|
||||
_action(ipEndPoint,JsonConvert.DeserializeObject<GameRoomReadyCommand>(s));
|
||||
break;
|
||||
case 3:
|
||||
_action(ipEndPoint,
|
||||
JsonConvert.DeserializeObject<GameRoomStartCommand>(this._dataBuffer.ToString()));
|
||||
_action(ipEndPoint,JsonConvert.DeserializeObject<GameRoomStartCommand>(s));
|
||||
break;
|
||||
case 4:
|
||||
_action(ipEndPoint,
|
||||
JsonConvert.DeserializeObject<GameRoomKickCommand>(this._dataBuffer.ToString()));
|
||||
_action(ipEndPoint,JsonConvert.DeserializeObject<GameRoomKickCommand>(s));
|
||||
break;
|
||||
case 5:
|
||||
_action(ipEndPoint,
|
||||
JsonConvert.DeserializeObject<GameRoomProcessCommand>(this._dataBuffer.ToString()));
|
||||
_action(ipEndPoint,JsonConvert.DeserializeObject<GameRoomProcessCommand>(s));
|
||||
break;
|
||||
case 6:
|
||||
_action(ipEndPoint,
|
||||
JsonConvert.DeserializeObject<QueryGameRoomListCommand>(this._dataBuffer.ToString()));
|
||||
_action(ipEndPoint,JsonConvert.DeserializeObject<QueryGameRoomListCommand>(s));
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -178,14 +171,16 @@ namespace OnlineUserPool.Services
|
||||
_action(ipEndPoint, msg);
|
||||
break;
|
||||
}
|
||||
|
||||
this._dataBuffer.Clear();
|
||||
s = null;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Log.Error($"接受到的数据处理时出错:{data}\r\n{ex.Message}\r\n{ex.StackTrace}");
|
||||
}
|
||||
|
||||
data = null;
|
||||
}
|
||||
|
||||
protected override void OnError(SocketError error)
|
||||
|
||||
Reference in new issue
Block a user