void OnPacketReceived(ClientSession session, EFBinaryRequestInfo reqInfo) { MainLogger.Debug($"세션 번호: {session.SessionID}, 받은 데이터 크기: {reqInfo.Size}, ThreadId: {System.Threading.Thread.CurrentThread.ManagedThreadId}"); if (reqInfo.PacketID == (UInt16)PACKETID.SIMPLE_CHAT) { var sendPacket = new SimpleChatPacket(); sendPacket.SetValue(reqInfo.Body); foreach (var client in GetAllSessions()) { client.Send(sendPacket.Data, 0, sendPacket.Data.Length); } } }
void OnPacketReceived(ClientSession session, EFBinaryRequestInfo reqInfo) { MainLogger.Debug($"세션 번호: {session.SessionID}, 받은 데이터 크기: {reqInfo.Size}, ThreadId: {System.Threading.Thread.CurrentThread.ManagedThreadId}"); if (reqInfo.PacketID == (UInt16)CSBaseLib.PACKETID.PACKET_ID_ECHO) { var sendPacket = new EchoResPacket(); sendPacket.SetValue(reqInfo.Body); session.Send(sendPacket.Data, 0, sendPacket.Data.Length); return; } else if (reqInfo.PacketID == (UInt16)CSBaseLib.PACKETID.PACKET_ID_SIMPLE_CHAT) { var sendPacket = new SimpleChatPacket(); sendPacket.SetValue(reqInfo.Body); foreach (var client in GetAllSessions()) { client.Send(sendPacket.Data, 0, sendPacket.Data.Length); } return; } else if (reqInfo.PacketID == (UInt16)CSBaseLib.PACKETID.PACKET_ID_CHAT_REQ) { var responsePkt = MessagePackSerializer.Deserialize <CSMsgPackPacket.ChatReqPkt>(reqInfo.Body); var requestPkt = new CSMsgPackPacket.ChatReqPkt(); requestPkt.UserID = responsePkt.UserID; requestPkt.Msg = responsePkt.Msg; byte[] buffer = MessagePackSerializer.Serialize(requestPkt); var sendPacket = MakePacket.Create(CSBaseLib.PACKETID.PACKET_ID_CHAT_NTF, buffer); session.Send(sendPacket, 0, sendPacket.Length); } var packet = new ServerPacketData(); packet.SessionID = session.SessionID; packet.SessionIndex = session.SessionIndex; packet.PacketSize = reqInfo.Size; packet.PacketID = reqInfo.PacketID; packet.Type = reqInfo.Type; packet.BodyData = reqInfo.Body; Distribute(packet); }