/
NLObP
/
AAEmu
Обзор
Документация
Войти
/
NLObP
/
AAEmu
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
AAEmu.Game/Core/Network/Stream/StreamNetwork.cs
62 строки
3 KB
Roger Barreto
Code Improvements + Integration Test Fix + Log -> Logger (#747)
06 окт 2023, 20:53
Не верифицирован
06 окт 2023, 20:53
8ca858e
Код
Авторство
О чём код?
using System; using System.Net; using AAEmu.Commons.Network.Core; using AAEmu.Commons.Utils; using AAEmu.Game.Core.Packets.C2S; using AAEmu.Game.Models; using NLog; namespace AAEmu.Game.Core.Network.Stream; public class StreamNetwork : Singleton<StreamNetwork> { private static Logger Logger { get; } = LogManager.GetCurrentClassLogger(); private Server _server; private StreamProtocolHandler _handler; private StreamNetwork() { _handler = new StreamProtocolHandler(); RegisterPacket(CTOffsets.CTJoinPacket, typeof(CTJoinPacket)); RegisterPacket(CTOffsets.CTRequestCellPacket, typeof(CTRequestCellPacket)); RegisterPacket(CTOffsets.CTRequestEmblemPacket, typeof(CTRequestEmblemPacket)); RegisterPacket(CTOffsets.CTCancelCellPacket, typeof(CTCancelCellPacket)); RegisterPacket(CTOffsets.CTContinuePacket, typeof(CTContinuePacket)); RegisterPacket(CTOffsets.CTUccComplexPacket, typeof(CTUccComplexPacket)); RegisterPacket(CTOffsets.CTUccStringPacket, typeof(CTUccStringPacket)); RegisterPacket(CTOffsets.CTUccPositionPacket, typeof(CTUccPositionPacket)); RegisterPacket(CTOffsets.CTUccCharacterNamePacket, typeof(CTUccCharacterNamePacket)); RegisterPacket(CTOffsets.CTQueryCharNamePacket, typeof(CTQueryCharNamePacket)); RegisterPacket(CTOffsets.CTUploadEmblemStreamPacket, typeof(CTUploadEmblemStreamPacket)); RegisterPacket(CTOffsets.CTEmblemStreamUploadStatusPacket, typeof(CTEmblemStreamUploadStatusPacket)); RegisterPacket(CTOffsets.CTStartUploadEmblemStreamPacket, typeof(CTStartUploadEmblemStreamPacket)); RegisterPacket(CTOffsets.CTEmblemStreamDownloadStatusPacket, typeof(CTEmblemStreamDownloadStatusPacket)); RegisterPacket(CTOffsets.CTItemUccPacket, typeof(CTItemUccPacket)); RegisterPacket(CTOffsets.CTEmblemPartDownloadedPacket, typeof(CTEmblemPartDownloadedPacket)); RegisterPacket(CTOffsets.CTUccComplexCheckValidPacket, typeof(CTUccComplexCheckValidPacket)); } public void Start() { var config = AppConfiguration.Instance.StreamNetwork; _server = new Server(config.Host.Equals("*") ? IPAddress.Any : IPAddress.Parse(config.Host), config.Port, _handler); _server.Start(); Logger.Info("StreamNetwork started"); } public void Stop() { if (_server?.IsStarted ?? false) _server.Stop(); Logger.Info("StreamNetwork stoped"); } private void RegisterPacket(uint type, Type classType) { _handler.RegisterPacket(type, classType); } }