예제 #1
0
        /**
         * @brief
         * 연결요청이 완료되거나 데이터통신이 왔을 때 이 함수가 호출됨.
         *
         * @details
         * 연결요청에 대한 결과값에 따라 처리함. 데이터통신은 startreceive를 호출해줌.
         */
        void receiveComplete(object sender, SocketAsyncEventArgs e)
        {
            if (e.LastOperation == SocketAsyncOperation.Connect)
            {
                if (e.SocketError == SocketError.Success)
                {
                    ConoConnect connect = e.UserToken as ConoConnect;

                    connectModule.networkHandler.Connect(connect);

                    startReceive(connect);
                }
                else
                {
                    Console.WriteLine("Failed to connect with server.");

                    IConoNetworkHandler networkHandler = connectModule.networkHandler;

                    //ToDo. remove connectModule, clientConnector, connect

                    networkHandler.Connect(null);
                }
            }
            else
            {
                receiveData(null, e);
            }
        }
예제 #2
0
        /**
         * @brief
         * 클래스 내부 변수를 초기화 시키는 함수
         *
         * @details
         * 받은 정보들을 클래스 변수들로 세팅한다.
         */
        public bool Init(string ip, int port, string serverModule, string serverRule, IConoNetworkHandler networkHandler)
        {
            this.ip             = ip;
            this.port           = port;
            this.serverModule   = serverModule;
            this.serverRule     = serverRule;
            this.networkHandler = networkHandler;

            return(true);
        }
예제 #3
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);
        }