Exemplo n.º 1
0
        /**
         * @brief
         * ConnectModule을 추가하는 함수
         *
         * @details
         * ConoNetConfig를 받아 ConoConnectModule을 만든다.
         */
        public ConoConnectModule AddConnectModule(ConoNetConfig netConfig)
        {
            ConoConnectModule connectModule = new ConoConnectModule();

            connectModule.Init(netConfig);

            moduleDict.Add(connectModule.serverModule, connectModule);

            return(connectModule);
        }
Exemplo n.º 2
0
        internal Dictionary <int, ConoConnect> connectDict; ///< 연결된 소켓들을 관리함. (Listen시에는 상대방의 연결요청으로 인해 생성된 소켓, Connect시에는 연결요청된 소켓)

        /**
         * @brief
         * 클래스 내부 변수를 초기화 시키는 함수
         *
         * @details
         * ConoNetConfig 정보들을 클래스 변수들로 세팅한다.
         */
        public virtual bool Init(ConoNetConfig netConfig)
        {
            ip             = netConfig.Ip;
            port           = netConfig.Port;
            serverModule   = netConfig.ServerModule;
            serverRule     = netConfig.ServerRule;
            networkHandler = netConfig.NetworkHandler;
            connectDict    = new Dictionary <int, ConoConnect>();

            return(true);
        }
Exemplo n.º 3
0
        /**
         * @brief
         * 새로운 연결작업을 요청할 때 호출하는 함수
         *
         * @details
         * 네트워크 작업에 필요한 매개변수을 받아 세팅함.
         * Run중이라면 바로 네트워크 연결작업을 시작함.
         *
         * @param ConoNetConfig netConfig\n
         * 연결등록, 또는 연결요청할 정보를 매개변수로 전달해줘야 됨.\n
         *
         * @return bool
         * 성공시 true, 실패시 false 반환
         */
        public bool AddNetConfig(ConoNetConfig netConfig)
        {
            ConoConnectModule connectModule = conoConnectModuleManager.AddConnectModule(netConfig);

            if (isRunning)
            {
                if (ProcessConnectModule(connectModule) == false)
                {
                    return(false);
                }
            }

            return(true);
        }