/// <summary> /// 로직 스레드를 사용하려면 use_logicthread를 true로 설정한다. /// -> 하나의 로직 스레드를 생성한다. /// -> 메시지는 큐잉되어 싱글 스레드에서 처리된다. /// /// 로직 스레드를 사용하지 않으려면 use_logicthread를 false로 설정한다. /// -> 별도의 로직 스레드는 생성하지 않는다. /// -> IO스레드에서 직접 메시지 처리를 담당하게 된다. /// </summary> /// <param name="use_logicthread">true=Create single logic thread. false=Not use any logic thread.</param> public NetworkService(ServerOption serverOption, IPacketDispatcher userPacketDispatcher = null) { ServerOpt = serverOption; SessionMgr = new SessionManager(); if (userPacketDispatcher == null) { PacketDispatcher = new DefaultPacketDispatcher(); } else { PacketDispatcher = userPacketDispatcher; } }
/// <summary> /// 로직 스레드를 사용하려면 use_logicthread를 true로 설정한다. /// -> 하나의 로직 스레드를 생성한다. /// -> 메시지는 큐잉되어 싱글 스레드에서 처리된다. /// /// 로직 스레드를 사용하지 않으려면 use_logicthread를 false로 설정한다. /// -> 별도의 로직 스레드는 생성하지 않는다. /// -> IO스레드에서 직접 메시지 처리를 담당하게 된다. /// </summary> /// <param name="use_logicthread">true=Create single logic thread. false=Not use any logic thread.</param> public NetworkService(ServerOption serverOption, IPacketDispatcher userPacketDispatcher = null, IMessageResolver userMessageResolver = null) { ServerOpt = serverOption; UserManager = new SessionManager(); if (userPacketDispatcher == null) { PacketDispatcher = new DefaultPacketDispatcher(); } else { PacketDispatcher = userPacketDispatcher; } if (userMessageResolver == null) { MessageResolver = new DefaultMessageResolver(ServerOpt.MaxPacketSize * 3); } else { MessageResolver = userMessageResolver; } }