Exemple #1
0
        /// <summary>
        ///     Initializes a new instance of the <see cref="ConnectionHandler" /> class.
        /// </summary>
        /// <param name="port">The port.</param>
        /// <param name="maxConnections">The maximum connections.</param>
        /// <param name="connectionsPerIp">The connections per ip.</param>
        /// <param name="antiDdoS"></param>
        /// <param name="enabeNagles">if set to <c>true</c> [enabe nagles].</param>
        public ConnectionHandler(int port, int maxConnections, int connectionsPerIp, bool antiDdoS, bool enabeNagles)
        {
            Manager = new SocketConnectionManager();

            Manager.OnClientConnected    += OnClientConnected;
            Manager.OnClientDisconnected += OnClientDisconnected;

            Manager.Init(port, maxConnections, connectionsPerIp, antiDdoS, new InitialPacketParser(), !enabeNagles);
        }
Exemple #2
0
 public static string Shutdown(Request request)
 {
     try
     {
         string res = SocketConnectionManager.SendToServer(JsonConvert.SerializeObject(request));
         return(res);
     }
     catch (SocketException socketException)
     {
         return("Daemon is not running");
     }
 }
Exemple #3
0
        public static bool Ping()
        {
            Request request = new Request(Constants.Commands.Ping);

            Log.Information(JsonConvert.SerializeObject(request));
            try
            {
                string response = SocketConnectionManager.SendToServer(JsonConvert.SerializeObject(request));

                PingResponse pingResponse = JsonConvert.DeserializeObject <PingResponse>(response);

                return(pingResponse.Status == "ready");
            }
            catch (Exception exception)
            {
                //Log.Error(exception);
                return(false);
            }
        }
Exemple #4
0
        public static string SendRequest(Request request)
        {
            Log.Information(JsonConvert.SerializeObject(request));
            int maxTry = 0;

            while (maxTry <= 1)
            {
                try
                {
                    string res = SocketConnectionManager.SendToServer(JsonConvert.SerializeObject(request));
                    return(res);
                }
                catch (SocketException socketException)
                {
                    maxTry++;
                    if (socketException.SocketErrorCode == SocketError.ConnectionRefused)
                    {
                        Start();
                    }
                }
            }

            Log.Error("Unable to reach Kemi Daemon");
            return("Unable to reach Kemi Daemon");



            /*//check (by name) if server is running first
             * // if not start it
             * if (!IsRunning())
             * {
             *  Start();
             * }
             *
             * if (IsRunning())
             * {
             *  Log.Information(JsonConvert.SerializeObject(request));
             *  return SocketConnectionManager.SendToServer(JsonConvert.SerializeObject(request));
             * }
             *
             * return "Unable to send request";*/
        }
 public SampleSocketMessageHandler(SocketConnectionManager socketConnectionManager, ILogger <SampleSocketMessageHandler> logger) : base(socketConnectionManager, logger)
 {
 }