[성현모] Socket 응답 추가

This commit is contained in:
SHM
2025-04-22 09:31:05 +09:00
parent 0b69e0a8f7
commit cbd8a29ba8
12 changed files with 119 additions and 59 deletions

View File

@ -16,21 +16,21 @@ namespace HubX.Library.Socket.Session
public Client Client { get; set; }
public int SessionId { get; set; }
public void Send(IMessage packet)
public void Send(ArraySegment<byte> packet, EnumMessageId resonseMessageId)
{
//string msgName = packet.Descriptor.Name.Replace("_", string.Empty);
//EnumMessageId msgId = (EnumMessageId)Enum.Parse(typeof(EnumMessageId), msgName);
//ushort size = (ushort)packet.CalculateSize();
//byte[] sendBuffer = new byte[size + 4];
//Array.Copy(BitConverter.GetBytes((ushort)(size + 4)), 0, sendBuffer, 0, sizeof(ushort));
//Array.Copy(BitConverter.GetBytes((ushort)msgId), 0, sendBuffer, 2, sizeof(ushort));
//Array.Copy(packet.ToByteArray(), 0, sendBuffer, 4, size);
//Send(new ArraySegment<byte>(sendBuffer));
Log4net.WriteLine($"Send:{Encoding.UTF8.GetString(packet)}", LogType.SOCKET);
ushort size = (ushort)packet.Count;
byte[] sendBuffer = new byte[size + 4];
Array.Copy(BitConverter.GetBytes((ushort)(size + 4)), 0, sendBuffer, 0, sizeof(ushort));
Array.Copy(BitConverter.GetBytes((ushort)resonseMessageId), 0, sendBuffer, 2, sizeof(ushort));
Array.Copy(packet.ToArray(), 0, sendBuffer, 4, size);
Send(new ArraySegment<byte>(sendBuffer));
}
public override void OnConnected(EndPoint endPoint)
{
Log4net.WriteLine($"OnConnected : {endPoint}", LogType.SOCKET);
Log4net.WriteLine($"OnConnected:{endPoint}", LogType.SOCKET);
Client = ObjectManager.Instance.Add<Client>();
{
Client.Session = this;
@ -39,13 +39,13 @@ namespace HubX.Library.Socket.Session
public override void OnRecvPacket(ArraySegment<byte> buffer)
{
Log4net.WriteLine($"OnRecvPacket : {Encoding.UTF8.GetString(buffer)}", LogType.SOCKET);
Log4net.WriteLine($"OnRecvPacket:{Encoding.UTF8.GetString(buffer)}", LogType.SOCKET);
PacketManager.Instance.OnRecvPacket(this, buffer);
}
public override void OnDisconnected(EndPoint endPoint)
{
Log4net.WriteLine($"OnDisconnected : {endPoint}", LogType.SOCKET);
Log4net.WriteLine($"OnDisconnected:{endPoint}", LogType.SOCKET);
}
public override void OnSend(int numOfBytes)