Exemplo n.º 1
0
        static void Main(string[] args)
        {
            var serviceLocator = new ServiceLocator(CreateDIContainer());

            var baseurl = new Uri("http://localhost:1000/");

            var serverState = new ServerState();
            serverState["Hello"] = "World";

            var config = new HttpConfiguration();
            config.CreateInstance = (type, context, request) => serviceLocator.GetInstance(type);
            config.RequestHandlers = (handlers, se, od) => handlers.Add(new ServerStateOperationHandler(serverState));
            config.ResponseHandlers = (handlers, se, od) => {
                handlers.Add(new LoggingOperationHandler(new Logger()));
                handlers.Add(new CompressionHandler());
            };

            config.Formatters.Insert(0, new JsonMediaTypeFormatter());

            HttpServiceHost host = new HttpServiceHost(typeof(FooService), config, baseurl);
            host.Open();

            Console.WriteLine("Host open.  Hit enter to exit...");
            Console.WriteLine("Use a web browser and go to " + baseurl + " or do it right and get fiddler!");

            Console.Read();

            host.Close();
        }
Exemplo n.º 2
0
 public HttpResponseMessage GetServerState(ServerState serverState)
 {
     var httpResponseMessage = new HttpResponseMessage();
     httpResponseMessage.StatusCode = HttpStatusCode.OK;
     httpResponseMessage.Content = new StringContent((string)serverState["Hello"], System.Text.Encoding.UTF8, "text/plain");
     return httpResponseMessage;
 }
Exemplo n.º 3
0
Arquivo: App.xaml.cs Projeto: bdr27/c-
 private void HandleMenuStartServer(object sender, RoutedEventArgs e)
 {
     serverState = ServerState.RUNNING;
     serverMiniCheckers.UpdateMenuState(serverState);
     updateRequestResponse("Server started");
     Debug.WriteLine("Server Starting");
 }
Exemplo n.º 4
0
 public void Initialize()
 {
     _state = ServerState.LOADING;
     CreateRemotingObjects();
     _residentOpenSAGEReadyMutex = new Mutex(true, OpenSAGERemoteSettings.ResidentOpenSAGEReadyMutexName);
     _state = ServerState.READY;
 }
Exemplo n.º 5
0
Arquivo: App.xaml.cs Projeto: bdr27/c-
 private void HandleMenuStopServer(object sender, RoutedEventArgs e)
 {
     serverState = ServerState.STOPPED;
     serverMiniCheckers.UpdateMenuState(serverState);
     
     updateRequestResponse("Server stopped");
     Debug.WriteLine("Server Stopping");
 }
        private void RaisePacketHandled(int id, IPacket packet, ServerState? state)
        {
            if (DebugPackets)
                PacketsReceived.Add(packet);

            if (OnPacketHandled != null)
                OnPacketHandled(id, packet, state);
        }
 internal WebSocketServiceHostManager(Logger logger)
 {
     _logger = logger;
       _keepClean = true;
       _serviceHosts = new Dictionary<string, WebSocketServiceHost> ();
       _state = ServerState.READY;
       _sync = new object ();
 }
Exemplo n.º 8
0
 public void ListenForConnections()
 {
     state = ServerState.RUNNING;
     connectionListenerThread = new Thread(new ThreadStart(ConnectionListenerHandler));
     connectionListenerThread.Start();
     //eventCheckerThread = new Thread(new ThreadStart(CheckForEvents));
     //eventCheckerThread.Start();
 }
Exemplo n.º 9
0
        protected void stepDown(IConsensus model, int term)
        {
            if (_state == ServerState.Leader || _state == ServerState.Candidate)
                _state = ServerState.Follower;

            _persistedState.UpdateState(term, null);
            if (isElectionTimeout(model))
                updateElectionAlarm(model);
        }
Exemplo n.º 10
0
		private void HandleServerStatusChange(ServerState currentState)
		{
			//suport for calls from other threads
			if (InvokeRequired)
			{
				Invoke((MethodInvoker) (() => HandleServerStatusChange(currentState)));
			}
			else
			{
				switch (currentState)
				{
					case ServerState.Starting:
						btnStartStop.Enabled = false;
						btnRestart.Enabled = false;
						btnStartStop.Text = Locale.Tr("Starting...");

						break;
					case ServerState.Running:

						if (ProcessHandler.Server.IsLocal)
						{
							btnStartStop.Text = Locale.Tr("Stop");
							metroToolTip.SetToolTip(btnStartStop, "Stop the server");
						}
						else
						{
							metroToolTip.SetToolTip(btnStartStop, "Disconnect from the server");
							btnStartStop.Text = Locale.Tr("Disconnect");
						}

						btnStartStop.Enabled = true;
						btnRestart.Enabled = true;
						btnStartStop.Text = Locale.Tr("Stop");
						break;
					case ServerState.Stopping:
						btnStartStop.Enabled = false;
						btnRestart.Enabled = false;
						btnStartStop.Text = Locale.Tr("Stopping...");

						break;
					case ServerState.Stopped:
						btnStartStop.Enabled = true;
						btnRestart.Enabled = false;
						if (ProcessHandler.Server.IsLocal)
						{
							btnStartStop.Text = Locale.Tr("Start");
							metroToolTip.SetToolTip(btnStartStop, "Start the server");
						}
						else
						{
							btnStartStop.Text = Locale.Tr("Connect");
							metroToolTip.SetToolTip(btnStartStop, "Connect to the server");
						}
						break;
				}
			}
		}
Exemplo n.º 11
0
        public ServerOld(int id, string dataDir)
        {
            _id = id;
            _dataDir = dataDir;

            _peers = new List<Peer>();
            _random = new Random(id ^ (int)DateTime.Now.Ticks);
            _state = ServerState.Stopped;
        }
Exemplo n.º 12
0
        protected override void HandleAsync(Packet packet)
        {
            _state = _state ?? (ServerState) State;

            foreach (var endPoint in _state.Users.GetAllExcept(packet.Address))
            {
                LogManager.Debug("Packet from {0} redirected to {1}", packet.UserName, endPoint);
                _state.Client.Send(packet, endPoint);
            }
        }
Exemplo n.º 13
0
 void ChangeState(ServerState newState)
 {
     Debug.Log("Change State: " + serverState + " >> " + newState);
     if (serverState == newState) {
         return;
     }
     ExitState();
     serverState = newState;
     EnterState();
 }
        public void UpdateServerState(FeedbackLevel workload, int peerCount, ServerState state)
        {
            if (!this.IsRegistered)
            {
                return;
            }

            var contract = new UpdateServerEvent { LoadIndex = (byte)workload, PeerCount = peerCount, State = (int)state };
            var eventData = new EventData((byte)ServerEventCode.UpdateServer, contract);
            this.SendEvent(eventData, new SendParameters());
        }
        internal WebSocketSessionManager(Logger logger)
        {
            _logger = logger;
              _forSweep = new object ();
              _keepClean = true;
              _sessions = new Dictionary<string, IWebSocketSession> ();
              _state = ServerState.Ready;
              _sync = new object ();

              setSweepTimer (60000);
        }
Exemplo n.º 16
0
        public Server(int genSeed)
        {
            this.genSeed = genSeed;
            serverName = "Test server";
            maxPlayers = 4;
            players = new Dictionary<IPAddress, ServerPlayer>();
            port = 19283;
            state = ServerState.Lobby;

            Start();
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ServerEnteredErrorStateException"/> class
        /// with the specified error state.
        /// </summary>
        /// <param name="status">The error state entered by the server.</param>
        /// <exception cref="ArgumentNullException">If <paramref name="status"/> is <see langword="null"/>.</exception>
        public ServerEnteredErrorStateException(ServerState status)
            : base(string.Format("The server entered an error state: '{0}'", status))
        {
            if (status == null)
                throw new ArgumentNullException("status");

            _state.Status = status.Name;
#if !NET35
            SerializeObjectState += (ex, args) => args.AddSerializedState(_state);
#endif
        }
        internal WebSocketSessionManager(Logger logger)
        {
            _logger = logger;

              _clean = true;
              _forSweep = new object ();
              _sessions = new Dictionary<string, IWebSocketSession> ();
              _state = ServerState.Ready;
              _sync = ((ICollection) _sessions).SyncRoot;
              _waitTime = TimeSpan.FromSeconds (1);

              setSweepTimer (60000);
        }
Exemplo n.º 19
0
 public Server()
 {
     Rooms = new Dictionary<MobMap, MapRoom>();
     InsertAllRooms();
     DisplayUp = zUpload = 0;
     DisplayDown = Download = 0;
     NextId = 1;
     ClientMutex = new Mutex();
     Socket = null;
     State = ServerState.Stopped;
     AcceptClientsThread = new Thread(new ThreadStart(AcceptClients));
     AcceptClientsThread.IsBackground = true;
 }
Exemplo n.º 20
0
 /// <summary>
 /// The NetworkServer will be instantiated once in the DDD Server.
 /// External applications such as agents and custom GUIs should ignore this class.
 /// </summary>
 /// <param name="port"></param>
 /// <param name="dist"></param>
 public NetworkServer(int port, ref SimulationEventDistributor dist)
 {
     server = null;
     state = ServerState.STOPPING;
     eventDist = dist;
     m_serverIP = null;
     this.port = port;
     connectionListenerThread = null;
     //eventCheckerThread = null;
     clientHandlers = new List<NetworkServerConnectionHandler>();
     clientHandlersLock = new object();
     //clientCount = 0;
 }
Exemplo n.º 21
0
 public void UpdateMenuState(ServerState serverState)
 {
     switch (serverState)
     {
         case ServerState.RUNNING:
             menuStartServer.IsEnabled = false;
             menuStopServer.IsEnabled = true;
             break;
         case ServerState.STOPPED:
             menuStopServer.IsEnabled = false;
             menuStartServer.IsEnabled = true;
             break;
     }
 }
Exemplo n.º 22
0
 public void ChangeSiteState(string siteId, ServerState state)
 {
     try
     {
         Log.WriteStart("'{0}' ChangeSiteState", ProviderSettings.ProviderName);
         WebProvider.ChangeSiteState(siteId, state);
         Log.WriteEnd("'{0}' ChangeSiteState", ProviderSettings.ProviderName);
     }
     catch (Exception ex)
     {
         Log.WriteError(String.Format("'{0}' ChangeSiteState", ProviderSettings.ProviderName), ex);
         throw;
     }
 }
Exemplo n.º 23
0
        protected void startNewElection(IConsensus model)
        {
            if ((_state == ServerState.Follower || _state == ServerState.Candidate) &&
                isElectionTimeout(model))
            {
                updateElectionAlarm(model);
                _persistedState.UpdateState(_persistedState.Term + 1, _id);
                _state = ServerState.Candidate;

                //only request from peers that are allowed to vote
                foreach (var peer in _peers)
                    peer.Reset();

                Console.WriteLine("{0}: Starting new election for term {1}", _id, _persistedState.Term);
            }
        }
Exemplo n.º 24
0
        public ServerClient(string identity, IExtensionRegistry extensionRegistry, BufferManager bufferManager)
        {
            ServerName = identity;
            _bufferManager = bufferManager;
            _extensionService = new ExtensionService(extensionRegistry, DeliverMessage);
            _connection = new Connection.Connection(ServerName, _extensionService, true, _bufferManager)
            {
                ExtensionFrameReceived = OnExtensionFrame,
                MessageFrameReceived = OnMessageFrame,
                WriteCompleted = OnWriteCompleted,

            };
            _connection.HandshakeReceived += OnHandshakeFrame;
            _connection.Disconnected += HandleRemoteDisconnect;
            _state = ServerState.WaitingOnInitialHandshake;
            ServerName = "FastSocket v" + Major + "." + Minor;
        }
Exemplo n.º 25
0
        protected override void Handle(Packet packet)
        {
            _state = _state ?? (ServerState) State;

            LogManager.Info("User {0} with address {1} has logged on", packet.UserName, packet.Address);

            try
            {
                _state.Users.Add(packet.UserName, packet.Address);
                _queue.Enqueue(packet.Address);

                State.Client.Send(PacketFactory.TypedPacket(PacketType.LogOn), packet.Address);
            }
            catch (Exception e)
            {
                LogManager.Error(e, "Error occured in register handler: '{0}'", e.Message);
            }
        }
        private void RaisePacketHandled(int id, IPacket packet, ServerState? state)
        {
            if (state != ServerState.ModernStatus) 
                return;

            switch ((PacketsServer) id)
            {
                case PacketsServer.Ping:
                    if (FirePingPacket != null)
                        FirePingPacket(packet);
                    break;

                case PacketsServer.Response:
                    if (FireResponsePacket != null)
                        FireResponsePacket(packet);
                    break;
            }
        }
        /// <summary>
        /// Starts receiving the WebSocket connection requests.
        /// </summary>
        public void Start()
        {
            lock (_sync) {
                var msg = _state.CheckIfStopped() ?? checkIfCertExists();
                if (msg != null)
                {
                    _logger.Error(
                        String.Format(
                            "{0}\nstate: {1}\nsecure: {2}", msg, _state, _secure));

                    return;
                }

                _serviceHosts.Start();
                _listener.Start();
                startReceiving();

                _state = ServerState.START;
            }
        }
Exemplo n.º 28
0
        private void render(ServerState newState)
        {
            this.itsState = newState;

            if (itsState == ServerState.MANAGING_PRODUCTS || itsState == ServerState.PRODUCT_ADDED_SUCCESSFULLY || itsState == ServerState.DUPLICATE_PRODUCT_NOT_ADDED)
            {
                this.Show();

                this.productsList.Items.Clear();
                foreach (var keyValuePair in this.itsModel.productsInventory)
                {
                    Product product = keyValuePair.Value;
                    this.productsList.Items.Add(product.productID + ") " + product.item.name + " - [" + product.item.startingBidPrice + "] - " + product.productStatus);
                }
            }
            else
            {
                this.Hide();
            }
        }
Exemplo n.º 29
0
        /// <summary>
        /// Changes site's state.
        /// </summary>
        /// <param name="siteId">Site's id to change state for.</param>
        /// <param name="state">State to be set.</param>
        /// <exception cref="ArgumentException">Is thrown in case site name is null or empty.</exception>
        public void ChangeSiteState(string siteId, ServerState state)
        {
            if (String.IsNullOrEmpty(siteId))
            {
                throw new ArgumentException("Site name is null or empty.");
            }

            switch (state)
            {
            case ServerState.Continuing:
            case ServerState.Started:
                this.ftpSitesService.StartSite(siteId);
                break;

            case ServerState.Stopped:
            case ServerState.Paused:
                this.ftpSitesService.StopSite(siteId);
                break;
            }
        }
Exemplo n.º 30
0
        public void Start()
        {
            object sync = this._sync;

            lock (sync)
            {
                string text = this._state.CheckIfStartable() ?? this.checkIfCertExists();
                if (text != null)
                {
                    this._logger.Error(string.Format("{0}\nstate: {1}\nsecure: {2}", text, this._state, this._secure));
                }
                else
                {
                    this._services.Start();
                    this._listener.Start();
                    this.startReceiving();
                    this._state = ServerState.Start;
                }
            }
        }
Exemplo n.º 31
0
 public void Shutdown()
 {
     if (m_State == ServerState.None)
     {
         return;
     }
     m_State = ServerState.None;
     try {
         m_AcceptEvent.Completed -= AcceptAsyncCompleted;
         m_AcceptEvent.Dispose();
         m_AcceptEvent = null;
         m_Socket.Close();
         while (m_Connects.Count > 0)
         {
             m_Connects[0].Disconnect();
         }
     } finally {
         m_Socket = null;
     }
 }
Exemplo n.º 32
0
    public override Task StopAsync(CancellationToken cancellationToken)
    {
        switch (state)
        {
        case ServerState.Unstarted:
            logger.LogInformation("{Type} has not been started", GetType().Name);
            break;

        case ServerState.Running:
            state = ServerState.Stopped;
            logger.LogInformation("{Type} was stopped", GetType().Name);
            break;

        case ServerState.Stopped:
            logger.LogInformation("{Type} has already been stopped", GetType().Name);
            break;
        }

        return(Task.CompletedTask);
    }
Exemplo n.º 33
0
    protected override async Task ExecuteAsync(CancellationToken stoppingToken)
    {
        var listener = new TcpListener(IPAddress.Any, port);

        listener.Start();
        state = ServerState.Running;

        logger.LogInformation("{Type} started on Port:{Port}", GetType().Name, port);
        await using CancellationTokenRegistration registry = stoppingToken.Register(() => listener.Stop());
        while (!stoppingToken.IsCancellationRequested)
        {
            TcpClient client = await listener.AcceptTcpClientAsync(stoppingToken);

            var session = context.Resolve <T>();
            session.Init(client);
            session.OnPacket += router.OnPacket;

            AddSession(session);
        }
    }
Exemplo n.º 34
0
 public void Listen(int port)
 {
     if (m_State != ServerState.None)
     {
         return;
     }
     try {
         m_AcceptEvent            = new SocketAsyncEventArgs();
         m_AcceptEvent.Completed += AcceptAsyncCompleted;
         m_Socket         = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
         m_Socket.NoDelay = false;
         m_Socket.Bind(new IPEndPoint(IPAddress.Any, port));
         m_Socket.Listen(10);
         m_State = ServerState.Listened;
         BeginAccept();
     } catch (System.Exception ex) {
         m_State = ServerState.None;
         logger.error("服务器监听失败 [" + port + "] " + ex.ToString());
     };
 }
        internal void Stop(byte [] data, bool send)
        {
            lock (_sync) {
                _state = ServerState.ShuttingDown;

                var payload      = new PayloadData(data);
                var args         = new CloseEventArgs(payload);
                var frameAsBytes = send
                         ? WsFrame.CreateCloseFrame(Mask.Unmask, payload).ToByteArray()
                         : null;

                foreach (var host in _hosts.Values)
                {
                    host.Sessions.Stop(args, frameAsBytes);
                }

                _hosts.Clear();
                _state = ServerState.Stop;
            }
        }
Exemplo n.º 36
0
        public void StartGame()
        {
            State = ServerState.GameStarted;
            listener.Stop();

            Console.WriteLine("Game started");

            foreach (var c in conns)
            {
                foreach (var d in conns)
                {
                    DispatchOrdersToClient(c, d.PlayerIndex, 0x7FFFFFFF, new byte[] { 0xBF });
                }
            }

            // Drop any unvalidated clients
            foreach (var c in preConns.ToArray())
            {
                DropClient(c);
            }

            DispatchOrders(null, 0,
                           new ServerOrder("StartGame", "").Serialize());

            foreach (var t in ServerTraits.WithInterface <IStartGame>())
            {
                t.GameStarted(this);
            }

            // Check TimeOut
            if (Settings.TimeOut > 10000)
            {
                gameTimeout          = new XTimer(Settings.TimeOut);
                gameTimeout.Elapsed += (_, e) =>
                {
                    Console.WriteLine("Timeout at {0}!!!", e.SignalTime);
                    Environment.Exit(0);
                };
                gameTimeout.Enabled = true;
            }
        }
        public async Task Test()
        {
            using var _ = HConsoleForTest();

            var options = HazelcastOptions.Build();

            options.Messaging.RetryTimeoutSeconds = 1;

            var loggerFactory = new NullLoggerFactory();

            var address = NetworkAddress.Parse("127.0.0.1:11000");

            var state = new ServerState
            {
                Id       = 0,
                MemberId = Guid.NewGuid(),
                Address  = address
            };

            await using var server = new Server(address, ServerHandler, loggerFactory, state, "0")
                        {
                            MemberId = state.MemberId,
                        };
            await server.StartAsync();

            var serializationService = HazelcastClientFactory.CreateSerializationService(options.Serialization, loggerFactory);
            var authenticator        = new Authenticator(options.Authentication, serializationService, loggerFactory);

            ISequence <long> correlationIdSequence = new Int64Sequence();

            var memberConnection = new MemberConnection(address, authenticator,
                                                        options.Messaging, options.Networking, options.Networking.Ssl,
                                                        correlationIdSequence,
                                                        loggerFactory);

            var memberConnectionHasClosed = false;

            memberConnection.Closed += connection =>
            {
                memberConnectionHasClosed = true;
                return(default);
    // resolver for waiting players server state
    private void WaitingPlayersStateResolver()
    {
        foreach (Player conPlayer in _connectedPlayers)
        {
            switch (conPlayer.GameState)
            {
            case GameState.Disconnected:
                // handle if a player is in disconneted state
                // fornow if this happens the game ends and the connections are droped
                // todo func that close connection and remove the player from the list
                break;

            case GameState.Connecting:
                // call handler for connecting state
                Connecting(conPlayer);
                break;

            case GameState.Sync:
                // sending the last layer info to the other player
                SyncNewPlayer(conPlayer);
                break;
            }
        }

        // need to confirm if all players are waiting players
        // if soo and the player connected cout is 2, this means that server is ready
        // to start a match

        // if exists 2 players connected
        // and all players waiting player
        if (_connectedPlayers.Count == 2 && CheckAllPlayersState(GameState.WaitPlayer))
        {
            // Debug that all players are waiting for other player and there is
            // 2 players connect
            Debug.Log(_connectedPlayers.Count + " players connected and all synced");
            Console.Write(_connectedPlayers.Count + " players connected and synced", Color.yellow);

            // change the serve to server started the match
            _serverState = ServerState.ServerLoadingClients;
        }
    }
Exemplo n.º 39
0
        /// <summary>
        /// Stops receiving the incoming requests, and closes the connections with
        /// the specified <paramref name="code"/> and <paramref name="reason"/> for
        /// the WebSocket connection close.
        /// </summary>
        /// <param name="code">
        /// One of the <see cref="CloseStatusCode"/> enum values that represents
        /// the status code indicating the reason for the WebSocket connection close.
        /// </param>
        /// <param name="reason">
        /// A <see cref="string"/> that represents the reason for the WebSocket
        /// connection close. The size must be 123 bytes or less.
        /// </param>
        public void Stop(CloseStatusCode code, string reason)
        {
            string msg;

            if (!checkIfAvailable(false, true, false, false, out msg))
            {
                _logger.Error(msg);
                return;
            }

            if (!WebSocket.CheckParametersForClose(code, reason, false, out msg))
            {
                _logger.Error(msg);
                return;
            }

            lock (_sync)
            {
                if (!checkIfAvailable(false, true, false, false, out msg))
                {
                    _logger.Error(msg);
                    return;
                }

                _state = ServerState.ShuttingDown;
            }

            if (code == CloseStatusCode.NoStatus)
            {
                _services.Stop(new CloseEventArgs(), true, true);
            }
            else
            {
                var send = !code.IsReserved();
                _services.Stop(new CloseEventArgs(code, reason), send, send);
            }

            stopReceiving(5000);

            _state = ServerState.Stop;
        }
        private void stop(ushort code, string reason)
        {
            if (_state == ServerState.Ready)
            {
                _logger.Info("The server is not started.");
                return;
            }

            if (_state == ServerState.ShuttingDown)
            {
                _logger.Info("The server is shutting down.");
                return;
            }

            if (_state == ServerState.Stop)
            {
                _logger.Info("The server has already stopped.");
                return;
            }

            lock (_sync) {
                if (_state == ServerState.ShuttingDown)
                {
                    _logger.Info("The server is shutting down.");
                    return;
                }

                if (_state == ServerState.Stop)
                {
                    _logger.Info("The server has already stopped.");
                    return;
                }

                _state = ServerState.ShuttingDown;
            }

            stopReceiving(5000);
            _services.Stop(code, reason);

            _state = ServerState.Stop;
        }
Exemplo n.º 41
0
 public static bool CheckModuleState(MessageEventArgs e, string module, bool isDirectMessage)
 {
     ulong srvrid = e.Server.Id;
     ulong chnlid = e.Channel.Id;
     ServerStateRepository.AddServer(e.Server);
     ChannelStateRepository.AddChannel(e.Channel, e.Server);
     if (isDirectMessage) return true;
     ServerState srvr = ServerStateRepository.GetServerState(srvrid);
     ChannelState chnl = ChannelStateRepository.GetChannelState(chnlid);
     switch (module.ToLower())
     {
         case "ask":
             return (srvr.AskEnabled || chnl.AskEnabled);
         case "comic":
             return (srvr.ComicModuleEnabled || chnl.ComicModuleEnabled);
         case "gamertag":
             return (srvr.GamertagModuleEnabled || chnl.GamertagModuleEnabled);
         case "motd":
             return (srvr.MOTDEnabled || chnl.MOTDEnabled);
         case "quote":
             return (srvr.QuoteModuleEnabled || chnl.QuoteModuleEnabled);
         case "roll":
             return (srvr.RollEnabled || chnl.RollEnabled);
         case "table":
             return (srvr.TableUnflipEnabled || chnl.TableUnflipEnabled);
         case "twitter":
             return (srvr.TwitterModuleEnabled || chnl.TwitterModuleEnabled);
         case "note":
             return (srvr.NoteModuleEnabled || chnl.NoteModuleEnabled);
         case "politics":
             return (srvr.PoliticsEnabled || chnl.PoliticsEnabled);
         case "battle":
             return (srvr.ChatBattleEnabled || chnl.ChatBattleEnabled);
         case "chatty":
             return (srvr.ChattyModeEnabled || chnl.ChattyModeEnabled);
         case "markov":
             return (srvr.MarkovListenerEnabled || chnl.MarkovListenerEnabled);
         default:
             return false;
     }
 }
Exemplo n.º 42
0
    void interpMuzzle()
    {
        float timeSinceFire;

        if (OperationNetwork.isServer)
        {
            timeSinceFire = ServerState.getLifeTime(firedAt);
        }
        else
        {
            timeSinceFire = Interp.getLifeTime(firedAt);
        }
        if (timeSinceFire < 0.025f)
        {
            enableMuzzle();
        }
        else
        {
            disableMuzzle();
        }
    }
        protected override void AssertFinalState(AppServices services, ServerState finalServerState, DatabaseState finalDatabaseState)
        {
            if (finalServerState.DefaultWorkspace == null)
            {
                throw new NoDefaultWorkspaceException();
            }

            finalServerState.Workspaces.Should().HaveCount(1)
            .And
            .Contain(ws => ws.Id == finalServerState.DefaultWorkspace.Id);

            finalDatabaseState.Workspaces.Should().HaveCount(1)
            .And
            .Contain(ws => ws.Id == finalServerState.DefaultWorkspace.Id);

            finalDatabaseState.Clients.Should().HaveCount(0);
            finalDatabaseState.Tags.Should().HaveCount(0);
            finalDatabaseState.Projects.Should().HaveCount(0);
            finalDatabaseState.Tasks.Should().HaveCount(0);
            finalDatabaseState.TimeEntries.Should().HaveCount(0);
        }
Exemplo n.º 44
0
        public void ApplyServerState(ref ServerState serverState)
        {
            for (int i = 0; i < serverState.PlayerStatesCount; i++)
            {
                var state = serverState.PlayerStates[i];
                if (!_players.TryGetValue(state.Id, out var handler))
                {
                    return;
                }

                if (handler.Player == _clientPlayer)
                {
                    _clientPlayer.ReceiveServerState(serverState, state);
                }
                else
                {
                    var rp = (RemotePlayer)handler.Player;
                    rp.OnPlayerState(state);
                }
            }
        }
Exemplo n.º 45
0
        public virtual void ChangeSiteState(string siteId, ServerState state)
        {
            ManagementObject objSite    = wmi.GetObject(String.Format("IIsFtpServer='{0}'", siteId));
            string           methodName = "Continue";

            switch (state)
            {
            case ServerState.Started: methodName = "Start"; break;

            case ServerState.Stopped: methodName = "Stop"; break;

            case ServerState.Paused: methodName = "Pause"; break;

            case ServerState.Continuing: methodName = "Continue"; break;

            default: methodName = "Start"; break;
            }

            // invoke method
            objSite.InvokeMethod(methodName, null);
        }
Exemplo n.º 46
0
        /// <summary>
        /// A dispatch event to be rasied upon reception of an assembly from another Presto server..
        /// </summary>
        /// <param id="state">The server state object recieved along with this event.</param>
        private static void recieveAssemblySlave(ServerState state)
        {
            //get the slave assembly struct
            SerializationEngine serializer    = new SerializationEngine();
            SlaveAssembly       slaveAssembly = (SlaveAssembly)serializer.Deserialize(state.GetDataArray());

            //create the domain and add the assembly to it
            DomainManager.CreateDomain(slaveAssembly.DomainKey);
            if (!DomainManager.DomainHasAssembly(slaveAssembly.DomainKey, slaveAssembly.AssemblyName))
            {
                DomainManager.LoadAssemblyIntoDomain(slaveAssembly.DomainKey, slaveAssembly.AssemblyImage);
            }
            Presto.Remote.Node from = Nodes.GetNodeByID(slaveAssembly.NodeID);
            if (from != null)
            {
                from.SetLoadedAssembly(slaveAssembly.AssemblyName);
                from.SetLoadedDomain(slaveAssembly.DomainKey);
            }
            //send back assembly transfer complete message
            state.Write(MessageType.ASSEMBLY_TRANSFER_COMPLETE);
        }
Exemplo n.º 47
0
        public void Stop()
        {
            AssertActive();
            Debug.Log("Stopping server...");
            UnspawnNetObjects(NetObjectManager.Instance.NetObjects);
            foreach (NetworkConnection networkConnection in _connections)
            {
                networkConnection.Disconnect(_serverDriver);
            }

            if (_serverDriver.IsCreated)
            {
                _serverDriver.Dispose();
            }
            if (_connections.IsCreated)
            {
                _connections.Dispose();
            }
            State = ServerState.Stopped;
            Stopped?.Invoke();
        }
        public void StopServer()
        {
            if (State != ServerState.Working)
            {
                return;
            }

            Logger.I.Log(this, "Stopping server");
            State = ServerState.Stopping;

            _connectionsGroup.GetEntities(_connectionsBuffer);
            foreach (var e in _connectionsBuffer)
            {
                _disconnectData.Enqueue(new DisconnectData {
                    Peer = e.connectionPeer.Value
                });
                e.isDestroyed = true;
            }

            _requests.Enqueue(NetworkThreadRequest.Stop);
        }
Exemplo n.º 49
0
 public ScadaServer(string _name, string _ip, ushort _port, SvcManage svc)
 {
     state          = ServerState.Stoped;
     serverName     = _name;
     server.Address = _ip;
     server.Port    = _port;
     Svc            = svc;
     //绑定事件
     //绑定监听地址前触发
     server.OnPrepareListen += new ServerPrepareListenEventHandler(server_OnPrepareListen);
     //客户端连接请求被接受后触发
     server.OnAccept += new ServerAcceptEventHandler(server_OnAccept);
     //发送消息后触发
     server.OnSend += new ServerSendEventHandler(server_OnSend);
     //收到消息后触发
     server.OnReceive += new PullServerReceiveEventHandler(server_OnReceive);
     //连接关闭后触发(服务端的连接通常是多个,只要某一个连接关闭了都会触发)
     server.OnClose += new ServerCloseEventHandler(server_OnClose);
     //组件停止后触发
     server.OnShutdown += new ServerShutdownEventHandler(server_OnShutdown);
 }
Exemplo n.º 50
0
 public bool Start(int port)
 {
     try
     {
         Socket = new TcpListener(IPAddress.Any, port);
         Socket.Start();
     }
     catch (SocketException se)
     {
         //address/port occupied
         if (se.ErrorCode == 10048)
         {
             return(false);
         }
         throw se;
     }
     Globals.EventManager.AddEvent(UpdateTransfer, "updatetransfer", false, 0, 0, 1);
     State = ServerState.Running;
     Debug.Write("Server started");
     return(true);
 }
Exemplo n.º 51
0
        public void ClientInitialization4ProcessFirstPacketSendTest()
        {
            BouncyCastleServices clientServices = new BouncyCastleServices(KeyGeneration.GeneratePrivateKey());
            BouncyCastleServices serverServices = new BouncyCastleServices(KeyGeneration.GeneratePrivateKey());

            var client = new MicroRatchetContext(clientServices, true);
            var server = new MicroRatchetContext(serverServices, false);

            var         clientInitPacket = client.InitiateInitialization();
            var         responsePacket   = server.Receive(clientInitPacket).ToSendBack;
            var         firstPacket      = client.Receive(responsePacket).ToSendBack;
            var         firstResponse    = server.Receive(firstPacket).ToSendBack;
            var         cs          = client.SaveStateAsByteArray();
            var         ss          = server.SaveStateAsByteArray();
            ClientState clientState = ClientState.Load(cs, DefaultKexFactory.Instance);
            ServerState serverState = ServerState.Load(ss, DefaultKexFactory.Instance);

            Assert.NotNull(firstResponse);
            Assert.Equal(2, clientState.Ratchets.Count);
            Assert.Equal(1, serverState.Ratchets.Count);
        }
Exemplo n.º 52
0
        /// <summary>
        /// Stops receiving the WebSocket connection requests with the specified
        /// <see cref="CloseStatusCode"/> and <see cref="string"/>.
        /// </summary>
        /// <param name="code">
        /// One of the <see cref="CloseStatusCode"/> enum values, represents the status code indicating
        /// the reason for stop.
        /// </param>
        /// <param name="reason">
        /// A <see cref="string"/> that represents the reason for stop.
        /// </param>
        public void Stop(CloseStatusCode code, string reason)
        {
            byte [] data = null;
            lock (_sync) {
                var msg = _state.CheckIfStart() ??
                          (data = ((ushort)code).Append(reason)).CheckIfValidControlData("reason");

                if (msg != null)
                {
                    _logger.Error(String.Format("{0}\nstate: {1}\nreason: {2}", msg, _state, reason));
                    return;
                }

                _state = ServerState.ShuttingDown;
            }

            stopListener(5000);
            _services.Stop(data, !code.IsReserved());

            _state = ServerState.Stop;
        }
Exemplo n.º 53
0
        /// <summary>
        /// 启动服务器,使其正在侦听传入的连接请求
        /// </summary>
        /// <param name="localEndPoint">侦听的网络端点</param>
        public void Start(IPEndPoint localEndPoint)
        {
            try
            {
                //创建侦听传入连接的socket
                m_listenSocket = new Socket(localEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
                m_listenSocket.Bind(localEndPoint);
                //限定100个监听压力
                m_listenSocket.Listen(100);

                StartAccept(null);

                m_heartthread = new Thread(ServerHeart);
                m_heartthread.IsBackground = true;
                m_heartthread.Start();
            }
            catch (Exception e)
            {
                ServerState?.Invoke(HCServerStateEnmu.Failed, e.Message);
            }
        }
Exemplo n.º 54
0
        public static void changeState(ServerState aState, string caller, string reason = "Not Specified")
        {
            string format = "StateChange requested by {0} to {1}: {2}";

            switch (aState)
            {
            case ServerState.Crashed:
                logWarn(string.Format(format, caller, aState, reason));
                break;

            case ServerState.GracefulShutdown:
                logWarn(string.Format(format, caller, aState, reason));
                break;

            default:
                logDebug("StarryboundServer::changeState", string.Format(format, caller, aState, reason));
                break;
            }

            aServerState = aState;
        }
Exemplo n.º 55
0
        public void Init()
        {
            this.m_bufferManager.InitBuffer();
            DuplexSocketAsyncEventArgsWithId _readWirted;

            for (int i = 0; i < this.m_numConcurrence; i++)
            {
                _readWirted = new DuplexSocketAsyncEventArgsWithId();
                //_readWirted.State = true;
                _readWirted.ReceiveSAEA.Completed += OnCompleted;
                _readWirted.SendSAEA.Completed    += OnCompleted;

                _readWirted.ReceiveSAEA.UserToken = new AsyncUserToken(null);
                _readWirted.SendSAEA.UserToken    = new AsyncUserToken(null);

                //只给接收的SocketAsyncEventArgs设置缓冲区
                this.m_bufferManager.SetBuffer(_readWirted.ReceiveSAEA);
                this.m_readWritePool.Push(_readWirted);
            }
            m_serverState = ServerState.Inited;
        }
Exemplo n.º 56
0
		/// <summary>
		/// Starts receiving the HTTP requests.
		/// </summary>
		public void Start ()
			{
			lock (_sync)
				{
				var msg = _state.CheckIfAvailable (true, false, false)
#if !NETCF || BCC || SSL
 ?? checkIfCertificateExists ()
#endif
;
				if (msg != null)
					{
					_logger.Error (msg);
					return;
					}

				_services.Start ();
				startReceiving ();

				_state = ServerState.Start;
				}
			}
        internal void Stop(CloseEventArgs e, byte[] frameAsBytes, TimeSpan timeout)
        {
            lock (_sync) {
            _state = ServerState.ShuttingDown;

            _sweepTimer.Enabled = false;
            foreach (var session in _sessions.Values.ToList ())
              session.Context.WebSocket.Close (e, frameAsBytes, timeout);

            _state = ServerState.Stop;
              }
        }
Exemplo n.º 58
0
		private void BindSiteState(ServerState state)
		{
			if (state == ServerState.Continuing)
				state = ServerState.Started;

			litStatus.Text = GetLocalizedString("SiteState." + state.ToString());
			cmdStart.Visible = (state == ServerState.Stopped);
			cmdContinue.Visible = (state == ServerState.Paused);
			cmdPause.Visible = (state == ServerState.Started);
			cmdStop.Visible = (state == ServerState.Started || state == ServerState.Paused);
		}
 internal void Start()
 {
     lock (_sync) {
     _sweepTimer.Enabled = _clean;
     _state = ServerState.Start;
       }
 }
Exemplo n.º 60
0
Arquivo: App.xaml.cs Projeto: bdr27/c-
 private void HandleMenuStartServer(object sender, RoutedEventArgs e)
 {
     loggedOnUsers = new List<string>();
     serverState = ServerState.RUNNING;
     requestResponseThread.Start();
     serverMiniCheckers.UpdateMenuState(serverState);
     updateRequestResponse("Server started");
     updateRequestResponse("Current GameState: " + gameState);
     Debug.WriteLine("Server Starting");
 }