Beispiel #1
0
        static void Main(string[] args)
        {
            CPacketBufferManager.initialize(2000);
            userlist = new List <CGameUser>();

            CNetworkService service = new CNetworkService();

            // 콜백 메소드 설정
            service.sessing_created_callback += on_session_created;

            // 초기화
            service.Initialize();
            service.listen("127.0.0.1", 7979, 100);

            Console.WriteLine("Started!");

            while (true)
            {
                string input = Console.ReadLine();

                System.Threading.Thread.Sleep(1000);
            }

            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            // 패킷을 미리 생성해놓는다.
            // 동시체 처리할 수 있는 패킷 클래스의 인스턴스가 최대 2000개 까지 가능하다는 것이다.
            // 사용이 끝난 패킷은 초기화 후 재사용 되니 문제 없다.
            CPacketBufferManager.initialize(2000);
            userlist = new List <CGameUser>();

            CNetworkService service = new CNetworkService();

            // 콜백 메소드 설정
            service.sessing_created_callback += on_session_created;

            // 초기화
            service.Initialize();

            // 어떠한 IP라도 상관없이 모두 받아 들일 수 있다.
            // 맨 마지막인 backlog값은 accept 처리 도중 대기시킬 연결 개수를 의미한다.
            service.listen("0.0.0.0", 7979, 100);

            Console.WriteLine("Welcome To RamaNet!");

            while (true)
            {
                System.Threading.Thread.Sleep(10000);
            }

            Console.ReadKey();
        }
    // 테스트용 변수들.
    // bool is_test_mode = false;
    // byte test_auto_slot_index;

    void Awake()
    {
        // if (this.is_test_mode)
        // {
        //  Time.timeScale = 100.0f;
        // }

        CEffectManager.Instance.load_effects();

        this.waiting_packets        = new Queue <CPacket>();
        this.card_collision_manager = GameObject.Find("GameManager").GetComponent <CCardCollision>();
        this.card_collision_manager.callback_on_touch = this.on_card_touch;

        this.player_me_index = 0;
        this.deck_cards      = new Stack <CCardPicture>();
        this.card_manager    = new CCardManager();
        this.card_manager.make_all_cards();
        this.floor_ui_slots = new List <CVisualFloorSlot>();
        for (byte i = 0; i < 12; ++i)
        {
            this.floor_ui_slots.Add(new CVisualFloorSlot(i, byte.MaxValue));
        }

        this.player_hand_card_manager = new List <CPlayerHandCardManager>();
        this.player_hand_card_manager.Add(new CPlayerHandCardManager());
        this.player_hand_card_manager.Add(new CPlayerHandCardManager());

        this.player_card_manager = new List <CPlayerCardManager>();
        this.player_card_manager.Add(new CPlayerCardManager());
        this.player_card_manager.Add(new CPlayerCardManager());

        this.player_info_slots = new List <CPlayerInfoSlot>();
        this.player_info_slots.Add(transform.FindChild("player_info_01").GetComponent <CPlayerInfoSlot>());
        this.player_info_slots.Add(transform.FindChild("player_info_02").GetComponent <CPlayerInfoSlot>());

        CPacketBufferManager.initialize(1);
        this.hwatoo_sprites = Resources.LoadAll <Sprite>("images/allcard");
        this.back_image     = Resources.Load <Sprite>("images/back");

        this.floor_slot_position = new List <Vector3>();
        make_slot_positions(this.floor_slot_root, this.floor_slot_position);


        // 카드 만들어 놓기.
        this.total_card_pictures = new List <CCardPicture>();
        GameObject original = Resources.Load("hwatoo") as GameObject;
        Vector3    pos      = this.deck_slot.position;

        for (int i = 0; i < this.card_manager.cards.Count; ++i)
        {
            GameObject obj = GameObject.Instantiate(original);
            obj.transform.parent = transform;

            obj.AddComponent <CMovingObject>();
            CCardPicture card_pic = obj.AddComponent <CCardPicture>();
            this.total_card_pictures.Add(card_pic);

            //obj.GetComponent<Image>().color = back_red;
        }
    }
Beispiel #4
0
        static void Main(string[] args)
        {
            Console.ForegroundColor = ConsoleColor.Black;
            string Pwd = Console.ReadLine();

            Console.ForegroundColor         = ConsoleColor.White;
            Utility.Utility.connection      = new MySql.Data.MySqlClient.MySqlConnection($"Server=localhost;Database=user;Uid=root;Pwd={Pwd};Charset=utf8");
            Utility.Utility.GameRoomManager = new GameRoomManager();
            Console.Clear();

            CPacketBufferManager.initialize(2000);
            userList = new List <Player>();

            CNetworkService service = new CNetworkService();

            service.session_created_callback += on_session_created;
            service.initialize();
            service.listen("0.0.0.0", 7979, 100);

            gameServer = new GameServer();

            Console.WriteLine("Started!! GameServer");
            while (true)
            {
                string input = Console.ReadLine();
                System.Threading.Thread.Sleep(1000);
            }

            Console.ReadKey();
        }
Beispiel #5
0
        static void Main(string[] args)
        {
            CPacketBufferManager.initialize(2000);
            CNetworkService service = new CNetworkService();

            CConnector connector = new CConnector(service);

            connector.connected_callback += on_connected_gameserver;
            IPEndPoint endpoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 7979);

            connector.connect(endpoint);

            while (true)
            {
                Console.Write("> ");
                string line = Console.ReadLine();
                if (line == "q")
                {
                    break;
                }

                CPacket msg = CPacket.create((short)PROTOCOL.CHAT_MSG_REQ);
                msg.push(line);
                game_servers[0].send(msg);
            }

            ((CRemoteServerPeer)game_servers[0]).token.disconnect();

            Console.ReadKey();
        }
        public static void load()
        {
            CPacketBufferManager.initialize(2000);
            CNetworkService service = new CNetworkService(true);

            CConnector connector = new CConnector(service);

            connector.connected_callback += on_connected_gameserver;
            IPEndPoint endpoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 7979);

            connector.connect(endpoint);
        }
Beispiel #7
0
        private CClient()
        {
            CPacketBufferManager.initialize(2000);
            service          = new CNetworkService();
            serverlist       = new List <IPeer>();
            waiting_userlist = new List <string>();

            connector = new CConnector(service);

            connector.connected_callback    += on_connected_server;
            connector.reconnection_callback += reconnect_server;

            end_point = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 7979);

            connect_server();
        }
Beispiel #8
0
        static public void SrvrConn()
        {
            CPacketBufferManager.initialize(2000);
            // CNetworkService객체는 메시지의 비동기 송,수신 처리를 수행한다.
            // 메시지 송,수신은 서버, 클라이언트 모두 동일한 로직으로 처리될 수 있으므로
            // CNetworkService객체를 생성하여 Connector객체에 넘겨준다.
            CNetworkService service = new CNetworkService();

            // endpoint정보를 갖고있는 Connector생성. 만들어둔 NetworkService객체를 넣어준다.
            CConnector connector = new CConnector(service);

            // 접속 성공시 호출될 콜백 매소드 지정.
            connector.connected_callback += on_connected_gameserver;
            IPEndPoint endpoint = new IPEndPoint(IPAddress.Parse("192.168.0.188"), 7979);

            connector.connect(endpoint);
            System.Threading.Thread.Sleep(10);
        }
Beispiel #9
0
        public CFreeNetUnityService()
        {
            CPacketBufferManager.initialize(10);
            this.event_manager           = new CFreeNetEventManager();
            this.appcallback_on_message += Program.Process_Packet;

            thread = new System.Threading.Thread(() =>
            {
                while (true)
                {
                    Update();

                    System.Threading.Thread.Sleep(16);
                }
            });

            thread.Start();

            connect("127.0.0.1", 7979);
        }
        static void Main(string[] args)
        {
            CPacketBufferManager.initialize(2000);

            // CNetworkService 객체는 메시지의 비동기 송, 수신 처리를 수행합니다.
            // 메시지 송, 수신은 서버, 클라이언트 모두 동일한 로직으로 처리될 수 있으므로
            // CNetworkService 객체를 생성하여 Connector 객체에 넘겨줍니다.
            CNetworkService service = new CNetworkService();

            // endPoint 정보를 갖고 있는 Connector 생성, 만들어준 CNetworkSErvice 객체를 넣어줍니다.
            CConnector connector = new CConnector(service);

            // 접속 성공시 호출될 콜백 메소드 지정
            connector.connected_callback += on_connected_gameserver;

            IPEndPoint endpoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 7979);

            connector.connect(endpoint);

            while (true)
            {
                Console.Write("> ");

                // 키보드 입력을 받을 수 있도록 ReadLine 메소드를 호출해준다.
                string line = Console.ReadLine();

                // q 한글자 입력 경우 종료
                if (line == "q" || line == "Q")
                {
                    break;
                }

                CPacket msg = CPacket.create((short)PROTOCOL.CHAT_MSG_REQ);
                msg.push(line);
                game_servers[0].send(msg);
            }

            ((CRemoteServerPeer)game_servers[0]).token.disconnect();

            Console.ReadKey();
        }
Beispiel #11
0
        static void Main(string[] args)
        {
            CPacketBufferManager.initialize(2000);

            userlist    = new List <CChatUser>();
            server_main = new CChatServer();

            CNetworkService service = new CNetworkService();

            service.session_created_callback += on_session_created;

            service.initialize();
            service.listen("0.0.0.0", 7979, 100);

            Console.WriteLine("Started!");

            while (true)
            {
                System.Threading.Thread.Sleep(1000);
            }
        }
Beispiel #12
0
        static void Main(string[] args)
        {
            CPacketBufferManager.initialize(2000);

            service = new CNetworkService();
            // 콜백 매소드 설정.
            service.seesionCreatedCallback += OnSessionCreated;
            // 초기화.
            service.initialize();
            service.listen("172.30.154.7", 7979, 100);


            Console.WriteLine("Started!");
            while (true)
            {
                string input = Console.ReadLine();

                System.Threading.Thread.Sleep(1000);
            }

            Console.ReadKey();
        }
Beispiel #13
0
        static void Main(string[] args)
        {
            Console.WriteLine("Program Main");
            CPacketBufferManager.Initialize(2000);
            listGameUser = new List <CGameUser>();
            listRoom     = new List <CRoom>();

            CNetworkService service = new CNetworkService();

            service.onSessionCreated += OnSessionCreated;               // 콜백 매소드 설정.
            service.Initialize();                                       // 초기화.
            service.Listen("0.0.0.0", 49494, 100);


            Console.WriteLine("Started!");
            while (true)
            {
                //Console.Write(".");
                System.Threading.Thread.Sleep(1000);
            }
            //Console.Write("Server End");
            //Console.ReadKey();
        }
Beispiel #14
0
        static void Main(string[] args)
        {
            CPacketBufferManager.initialize(2000);
            // CNetworkService객체는 메시지의 비동기 송,수신 처리를 수행한다.
            // 메시지 송,수신은 서버, 클라이언트 모두 동일한 로직으로 처리될 수 있으므로
            // CNetworkService객체를 생성하여 Connector객체에 넘겨준다.
            CNetworkService service = new CNetworkService();

            // endpoint정보를 갖고있는 Connector생성. 만들어둔 NetworkService객체를 넣어준다.
            CConnector connector = new CConnector(service);

            // 접속 성공시 호출될 콜백 매소드 지정.
            connector.connected_callback += on_connected_gameserver;
            IPEndPoint endpoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 7979);

            connector.connect(endpoint);
            //System.Threading.Thread.Sleep(10);

            while (true)
            {
                Console.Write("> ");
                string line = Console.ReadLine();
                if (line == "q")
                {
                    break;
                }

                CPacket msg = CPacket.create((short)PROTOCOL.CHAT_MSG_REQ);
                msg.push(line);
                game_servers[0].send(msg);
            }

            ((CRemoteServerPeer)game_servers[0]).token.disconnect();

            //System.Threading.Thread.Sleep(1000 * 20);
            Console.ReadKey();
        }
Beispiel #15
0
        static void Main(string[] args)
        {
            CPacketBufferManager.initialize(2000);
            userlist = new List <CGameUser>();

            CNetworkService service = new CNetworkService();

            // 콜백 메소드 설정.
            // 클라이언트가 접속할 때마다 이 메서드 자동 호출
            service.session_created_callback += on_session_created;
            // 초기화.
            service.initialize();
            service.listen("0.0.0.0", 7979, 100);


            Console.WriteLine("Started!");
            while (true)
            {
                //Console.Write(".");
                System.Threading.Thread.Sleep(1000);
            }

            Console.ReadKey();
        }
Beispiel #16
0
        static void Main(string[] args)
        {
            CPacketBufferManager.initialize(2000);
            userlist = new List <CGameUser>();

            CNetworkService service = new CNetworkService();

            // 콜백 매소드 설정.
            service.session_created_callback += on_session_created;
            // 초기화.
            service.initialize();
            service.listen("0.0.0.0", 7979, 100); //  (0.0.0.0) 에서 변경하지말것 0.0.0.0으로 설정할경우 -> 모든 IP에서 들어오는 값을 true로 처리함
            // 만약 위의 IP를 바꾸면 바꾼 IP에 대한 response만 보냄. 이외의 값은 전부 false로 처리하여 반응하지 않음.



            Console.WriteLine("현재 서버가 기동중입니다.");
            while (true)
            {
                System.Threading.Thread.Sleep(1000);
            }

            Console.ReadKey();
        }
Beispiel #17
0
 void Awake()
 {
     CPacketBufferManager.initialize(10);
     this.event_manager = new CFreeNetEventManager();
 }