Example #1
0
        public override void Update()
        {
            base.Update();

            ServerComponent    server   = Owner.Get <ServerComponent>();
            EntityMapComponent entities = Owner.Get <EntityMapComponent>();

            if (entities != null)
            {
                server.Entities = entities.Count;
            }

            ClientMapComponent clients = Owner.Get <ClientMapComponent>();

            if (clients != null)
            {
                server.Clients = clients.Count;
            }

            GroupListMapComponent groups = Owner.Get <GroupListMapComponent>();

            if (groups != null)
            {
                server.Groups = groups.Count;
            }

            SessionMapComponent sessions = Owner.Get <SessionMapComponent>();

            if (sessions != null)
            {
                server.Sessions = sessions.Count;
            }
        }
Example #2
0
        private bool Connect()
        {
            if (Connected)
            {
                return(false);
            }

            try
            {
                ServerComponent server   = Owner.Get <ServerComponent>();
                IPAddress       address  = IPAddress.Parse(server.Address);
                IPEndPoint      endpoint = new IPEndPoint(address, server.Port);

                Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                Socket.Bind(endpoint);
                Socket.Listen(Constant.MaxSockets);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(false);
            }

            return(true);
        }
Example #3
0
        public override void Init()
        {
            base.Init();

            FileComponent   file   = Owner.Get <FileComponent>();
            ClientComponent client = Entity.Get <ClientComponent>();

            try
            {
                // TODO: Support folders!
                //
                string folder = "";                // client.Root;
                string path   = !string.IsNullOrEmpty(folder) ? Path.Combine(client.Download, folder) : client.Download;
                DirectoryUtil.Create(path);

                file.Path = Path.Combine(path, file.Name);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                file.Path = Path.Combine(client.Download, file.Name);
            }

            ServerComponent server = Entity.Get <ServerComponent>();

            if (server.Enabled && Inactive)
            {
                Start();
            }
        }
Example #4
0
        private void Connect()
        {
            Disconnect();

            ServerComponent server = Owner.Get <ServerComponent>();

            _connection = new NetworkConnection(server.Address, server.Port);
        }
Example #5
0
        public override void Init()
        {
            base.Init();

            ServerComponent server = Owner.Get <ServerComponent>();

            if (server.Enabled && Inactive)
            {
                Start();
            }
        }
Example #6
0
        private void ConnectState()
        {
            try
            {
                Disconnect();

                ServerComponent server = Entity.Get <ServerComponent>();
                Connection = new NetworkConnection(server.Address, server.Port);
                State      = DemonState.Download;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                State = DemonState.Restart;
            }
        }