Beispiel #1
0
 public void Service_ClientConnected(IFlowClient client)
 {
     //지금은 Channel 0으로 무조건 밀어 넣는 형식
     //채널 1개당 1스레드로 1스레드가 적정 양까지 버틸경우 1채널로 가도 됨
     //그럴 경우 이 서비스 매니저도 필요 없을 듯
     if (game != null && game.Length != 0)
     {
         game[0].AddPlayer(client);
     }
     else
     {
         ConsoleController.Alert("There is no game service", "Service Manager");
     }
 }
Beispiel #2
0
        /// <summary>
        /// 콘솔 메시지에 따른 처리 정의
        /// </summary>
        /// <param name="message">메시지 원본</param>
        /// <param name="convertedArgs">요소별로 나눈 메시지 원본</param>
        private void ConsoleController_Broadcast(string message, string[] convertedArgs)
        {
            Console.WriteLine("Broadcast : " + convertedArgs[0]);

            try
            {
                if (convertedArgs[0].Equals("disconnect"))
                {
                    FlowClient _target = null;

                    foreach (FlowClient client in clients)
                    {
                        if (convertedArgs[1].Equals(client.ToString()))
                        {
                            _target = client;
                        }
                    }

                    if (_target == null)
                    {
                        ConsoleController.Alert(convertedArgs[0] + " 대상이 잘못되었습니다.");
                    }
                    else
                    {
                        DisconnectClient(_target);
                    }
                }
                else if (convertedArgs[0].Equals("send"))
                {
                    foreach (FlowClient client in clients)
                    {
                        if (convertedArgs[1].Equals(client.ToString()))
                        {
                            ConsoleController.Debug("Sending(" + client + ") : " + convertedArgs[2]);
                            client.SendMessage(convertedArgs[2]);
                        }
                    }
                }
            }
            catch (IndexOutOfRangeException)
            {
                ConsoleController.Alert(convertedArgs[0] + " 명령어 인수가 부족합니다.");
            }
        }