void RegistPacketHandler(MainServer serverNetwork, ConnectSessionManager sessionManager) { if (공용_프로세서) { var maxUserCount = (MainServer.ServerOption.RoomMaxCountPerThread * MainServer.ServerOption.RoomThreadCount) * MainServer.ServerOption.RoomMaxUserCount; CommonPacketHandler.Init(serverNetwork, sessionManager); CommonPacketHandler.SetConfig(maxUserCount); CommonPacketHandler.RegistPacketHandler(PacketHandlerMap); } else { RoomPacketHandler.Init(serverNetwork, sessionManager); RoomPacketHandler.Init(RoomList); RoomPacketHandler.RegistPacketHandler(PacketHandlerMap); } }
void RegistPacketHandler(MainServer serverNetwork, ConnectSessionManager sessionManager) { if (공용_프로세서) { CommonPacketHandler.Init(serverNetwork, sessionManager); CommonPacketHandler.SetConfig(ChatServerEnvironment.MaxUserCount); CommonPacketHandler.RegistPacketHandler(PacketHandlerMap); } else { RoomPacketHandler.Init(serverNetwork, sessionManager); RoomPacketHandler.Init(RoomList); RoomPacketHandler.RegistPacketHandler(PacketHandlerMap); } // 개발 PacketHandlerMap.Add((int)PACKETID.REQ_TEST_ECHO, CommonPacketHandler.RequestTestEcho); }
//TODO MainServer를 인자로 주지말고, func을 인자로 넘겨주는 것이 좋다 public void CreateAndStart(bool IsCommon, List <Room> roomList, MainServer mainServer, ConnectSessionManager sessionMgr) { 공용_프로세서 = IsCommon; if (IsCommon == false) { RoomList = roomList; var minRoomNum = RoomList[0].Number; var maxRoomNum = RoomList[0].Number + RoomList.Count() - 1; RoomNumberRange = new Tuple <int, int>(minRoomNum, maxRoomNum); } RegistPacketHandler(mainServer, sessionMgr); IsThreadRunning = true; ProcessThread = new System.Threading.Thread(this.Process); ProcessThread.Start(); }
public void Init(MainServer serverNetwork, ConnectSessionManager sessionManager) { ServerNetwork = serverNetwork; SessionManager = sessionManager; }