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();
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            userlist = new List <CGameUser>();

            CNetworkService service = new CNetworkService(false);

            // 콜백 매소드 설정.
            service.session_created_callback += on_session_created;
            // 초기화.
            service.initialize(10000, 1024);
            service.listen("0.0.0.0", 7979, 100);

            // 서버에서 하트비트 체크를 끌때 사용함.
            // 스트레스 테스트를 하기 위해 FreeNet이 아닌 다른 클라이언트를 쓰는 경우등에 필요할것 같다.
            // Remove below comments to disable heartbeat on server.
            // (It maybe use to stress test from another client program not using FreeNet.)
            //service.disable_heartbeat();


            Console.WriteLine("Started!");
            while (true)
            {
                //Console.Write(".");
                string input = Console.ReadLine();
                if (input.Equals("users"))
                {
                    Console.WriteLine(service.usermanager.get_total_count());
                }
                System.Threading.Thread.Sleep(1000);
            }

            //Console.ReadKey();
        }
Ejemplo n.º 3
0
        static void Main(string[] args)
        {
            userlist = new List <CGameUser>();

            CNetworkService service = new CNetworkService(false);

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

            Console.WriteLine("Started!");

            /*Application.EnableVisualStyles();
             * Application.SetCompatibleTextRenderingDefault(false);
             * Application.Run(new Form1());*/

            while (true)
            {
                string input = Console.ReadLine();
                if (input.Equals("users"))
                {
                    Console.WriteLine(service.usermanager.get_total_count());
                }
                System.Threading.Thread.Sleep(1000);
            }

            //Console.ReadKey();
        }
Ejemplo n.º 4
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();
        }
        public void connect(string host, int port)
        {
            if (this.service != null)
            {
                Debug.LogError("re connected.");
                CConnector connector = new CConnector(service);
                // 접속 성공시 호출될 콜백 매소드 지정.
                connector.connected_callback += on_connected_gameserver;

                //4바이트아이피
                IPEndPoint endpoint = new IPEndPoint(IPAddress.Parse(host), port);
                connector.connect(endpoint, AddressFamily.InterNetwork);
                return;
            }
            else
            {
                // CNetworkService객체는 메시지의 비동기 송,수신 처리를 수행한다.
                this.service = new CNetworkService();

                // endpoint정보를 갖고있는 Connector생성. 만들어둔 NetworkService객체를 넣어준다.
                CConnector connector = new CConnector(service);
                // 접속 성공시 호출될 콜백 매소드 지정.
                connector.connected_callback += on_connected_gameserver;

                //4바이트아이피
                IPEndPoint endpoint = new IPEndPoint(IPAddress.Parse(host), port);
                connector.connect(endpoint, AddressFamily.InterNetwork);
            }
        }
Ejemplo n.º 6
0
        static void Main(string[] args)
        {
            userlist = new List <CGameUser>();

            CNetworkService service = new CNetworkService(false);

            // 콜백 매소드 설정.
            service.session_created_callback += on_session_created;
            // 초기화.
            service.initialize(10000, 1024);
            service.listen("0.0.0.0", 7979, 100);


            Console.WriteLine("Started!");
            while (true)
            {
                //Console.Write(".");
                string input = Console.ReadLine();
                if (input.Equals("users"))
                {
                    Console.WriteLine(service.usermanager.get_total_count());
                }
                System.Threading.Thread.Sleep(1000);
            }

            Console.ReadKey();
        }
Ejemplo n.º 7
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();
        }
Ejemplo n.º 8
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();
        }
Ejemplo n.º 9
0
 //private 생성자
 private MinosServer()
 {
     if (devices == null)
     {
         devices = new List <MinosDevice>();
         Service = new CNetworkService(false);
         Service.session_created_callback += on_session_created;
     }
 }
        public void iosconnect(int port)
        {
            if (this.service != null)
            {
                Debug.LogError("re connected.");
                CConnector connector = new CConnector(service);
                // 접속 성공시 호출될 콜백 매소드 지정.
                connector.connected_callback += on_connected_gameserver;

                IPAddress ipAddr = GetIPV6("ec2-52-197-124-209.ap-northeast-1.compute.amazonaws.com");
                if (ipAddr != null)
                {
                    IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 49495);
                    connector.connect(ipEndPoint, ipAddr.AddressFamily);
                }
                else
                {
                    ipAddr = GetIPV4("ec2-52-197-124-209.ap-northeast-1.compute.amazonaws.com");
                    if (ipAddr != null)
                    {
                        IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 49494);
                        connector.connect(ipEndPoint, ipAddr.AddressFamily);
                    }
                }
                return;
            }
            else
            {
                // CNetworkService객체는 메시지의 비동기 송,수신 처리를 수행한다.
                this.service = new CNetworkService();

                // endpoint정보를 갖고있는 Connector생성. 만들어둔 NetworkService객체를 넣어준다.
                CConnector connector = new CConnector(service);
                // 접속 성공시 호출될 콜백 매소드 지정.
                connector.connected_callback += on_connected_gameserver;

                IPAddress ipAddr = GetIPV6("ec2-52-197-124-209.ap-northeast-1.compute.amazonaws.com");
                if (ipAddr != null)
                {
                    IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 49495);
                    connector.connect(ipEndPoint, ipAddr.AddressFamily);
                }
                else
                {
                    ipAddr = GetIPV4("ec2-52-197-124-209.ap-northeast-1.compute.amazonaws.com");
                    if (ipAddr != null)
                    {
                        IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 49494);
                        connector.connect(ipEndPoint, ipAddr.AddressFamily);
                    }
                }
            }
        }
        public void connects(string DnsName, int port)
        {
            if (this.service != null)
            {
                Debug.LogError("re connected.");
                CConnector connector = new CConnector(service);
                // 접속 성공시 호출될 콜백 매소드 지정.
                connector.connected_callback += on_connected_gameserver;

                //IPAddress ipAddr = GetIPV6(DnsName);
                //if (ipAddr != null)
                //{
                //    IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 49495);
                //    connector.connect(ipEndPoint, ipAddr.AddressFamily);
                //}
                //else
                {
                    IPAddress ipAddr = GetIPV4(DnsName);
                    if (ipAddr != null)
                    {
                        IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 49494);
                        connector.connect(ipEndPoint, ipAddr.AddressFamily);
                    }
                }
                return;
            }
            else
            {
                // CNetworkService객체는 메시지의 비동기 송,수신 처리를 수행한다.
                this.service = new CNetworkService();

                // endpoint정보를 갖고있는 Connector생성. 만들어둔 NetworkService객체를 넣어준다.
                CConnector connector = new CConnector(service);
                // 접속 성공시 호출될 콜백 매소드 지정.
                connector.connected_callback += on_connected_gameserver;

                //IPAddress ipAddr = GetIPV6(DnsName);
                //if (ipAddr != null)
                //{
                //    IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 49495);
                //    connector.connect(ipEndPoint, ipAddr.AddressFamily);
                //}
                //else
                {
                    IPAddress ipAddr = GetIPV4(DnsName);
                    if (ipAddr != null)
                    {
                        IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 49494);
                        connector.connect(ipEndPoint, ipAddr.AddressFamily);
                    }
                }
            }
        }
Ejemplo n.º 12
0
        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);
        }
Ejemplo n.º 13
0
        public void connect(string host, int port)
        {
            // CNetworkService객체는 메시지의 비동기 송,수신 처리를 수행한다.
            this.service = new CNetworkService();

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

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

            connector.connect(endpoint);
        }
Ejemplo n.º 14
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();
        }
Ejemplo n.º 15
0
        public void connect(string host, int port)
        {
            if (this.service != null)
            {
                Debug.LogError("Already connected.");
                return;
            }

            // CNetworkService��ü�� �޽����� �񵿱� ��,���� ó���� �����Ѵ�.
            this.service = new CNetworkService();

            // endpoint������ �����ִ� Connector����. ������ NetworkService��ü�� �־��ش�.
            CConnector connector = new CConnector(service);
            // ���� ������ ȣ��� �ݹ� �żҵ� ����.
            connector.connected_callback += on_connected_gameserver;
            IPEndPoint endpoint = new IPEndPoint(IPAddress.Parse(host), port);
            connector.connect(endpoint);
        }
Ejemplo n.º 16
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);
        }
Ejemplo n.º 17
0
        public void connect(string host, int port)
        {
            if (this.service != null)
            {
                Debug.LogError("aleady connected.");
                return;
            }

            // CNetworkService객체는 메시지의 비동기 송, 수신 처리를 수행한다.
            this.service = new CNetworkService();

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

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

            connector.connect(endpoint);
        }
        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();
        }
Ejemplo n.º 19
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);
            }
        }
Ejemplo n.º 20
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();
        }
Ejemplo n.º 21
0
        static void Main(string[] args)
        {
            userlist = new List <CGameUser>();

            CNetworkService service = new CNetworkService(true);

            // 콜백 매소드 설정.
            service.session_created_callback += on_session_created;
            // 초기화.
            service.initialize(10000, 1024);
            service.listen("0.0.0.0", 27015, 100);


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

            Console.ReadKey();
        }
Ejemplo n.º 22
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();
        }
Ejemplo n.º 23
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();
        }
Ejemplo n.º 24
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();
        }
Ejemplo n.º 25
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();
        }
 public void ClearServer()
 {
     this.service    = null;
     this.gameserver = null;
 }