Exemplo n.º 1
0
        public AppErrorInfo Init(int tcpPort)
        {
            if (null == _server)
            {
                __CreateNewLog();
                try
                {
                    _server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(tcpPort));
                }
                catch (System.Exception ex)
                {
                    Console.WriteLine("Tcp服务创建异常: " + ex.Data.ToString());
                    __AddLogItem("Tcp服务创建异常: " + ex.Data.ToString());

                    __AddLogItem("Server.Init => AppErrorInfo.APP_FAILD");
                    return(AppErrorInfo.APP_FAILD);
                }
                _server.WireProtocolFactory = new MyUnderScsWireProtocolFactory();
                _server.ClientConnected    += __Global_server_ClientConnected;

                _unTypeClientBuff = new HashSet <IScsServerClient>();
                _tokenClientMap   = new Hashtable();
                _detailClientMap  = new Hashtable();

                _server.Start();

                __AddLogItem("Server.Init => AppErrorInfo.APP_SUCESS");
                return(AppErrorInfo.APP_SUCESS);
            }
            else
            {
                return(AppErrorInfo.APP_FAILD);
            }
        }
Exemplo n.º 2
0
        //---methods

        public ScsService(int tcpPort, int scsClientMaxCount = 8192)
        {
            _scsClientMaxCount = scsClientMaxCount;

            // Список по сути особен ну нужен, но используется
            // чтобы отделять клиентов, котоыре еще не прошли регистраци от тех кто уже прошел,
            // чтобы не пропускать не нужные событи вверх к основному приложению.
            _authenticatedUsers = new Dictionary <IScsServerClient, User>();

            //Синхронная очередь клиентских msg для тех кто еще не прошел аутентификацию
            _msgReadersForAutentification = new MsgReadersCollection();
            _msgReadersForAutentification.RegisterMsgReader <AuthenticationMessage>(AuthenticationMsgReader);
            _msgQueueForAutentification = new ConcurrentMsgQueue(_msgReadersForAutentification, _authenticatedUsers);
            _msgQueueForAutentification.ClientEventReaded += MsgQueue_ClientEventReaded;

            //Синхронная очередь клиентских msg
            _msgReaders = new MsgReadersCollection();
            _msgQueue   = new ConcurrentMsgQueue(_msgReaders, _authenticatedUsers);
            _msgQueue.ClientEventReaded += MsgQueue_ClientEventReaded;

            // Проходящите подключение клиенты
            _authenticationStates = new Dictionary <IScsServerClient, UserAuthenticationState>();

            // Scs server(tcp слой)
            _server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(tcpPort));
            _server.ClientConnected    += Server_ClientConnected;
            _server.ClientDisconnected += Server_ClientDisconnected;
        }
Exemplo n.º 3
0
        public bool Start()
        {
            try
            {
                if (_server == null)
                {
                    _server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(this.ListenPort));
                    _server.WireProtocolFactory = new EzWireProtocolFactory();
                    _server.ClientConnected    += server_ClientConnected;
                    _server.ClientDisconnected += server_ClientDisconnected;
                    _server.Start();

                    if (this.ActiveCheckClientAvailable)
                    {
                        start_1s_timer();
                    }
                }
                return(true);
            }
            catch (Exception ex)
            {
                EzLogger.GlobalLogger.warning(string.Format("{0}{2}{1}{2}",
                                                            ex.Message, ex.StackTrace, Environment.NewLine));

                Dispose();

                return(false);
            }
        }
Exemplo n.º 4
0
        public void TurnServerOn()
        {
            if (String.IsNullOrWhiteSpace(this.IpAdres))
            {
                IPHostEntry lvHost = Dns.GetHostEntry(Dns.GetHostName());
                foreach (IPAddress lvIp in lvHost.AddressList)
                {
                    if (lvIp.AddressFamily == AddressFamily.InterNetwork)
                    {
                        this.IpAdres = lvIp.ToString();
                        break;
                    }
                }
            }
            this.Server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(this.IpAdres, this.ServerPort));

            //Creeër eventhandlers
            this.Server.ClientConnected    += this.Server_ClientConnected;
            this.Server.ClientDisconnected += this.Server_ClientDisconnected;

            // start de server
            this.Server.Start();
            this.ServerStarted = true;
            InputHiveServerForm.LoggingQueue.Enqueue(String.Format(
                                                         "{0} Started server succesfully on:\t{1} : {2}", DateTime.Now, this.IpAdres, this.ServerPort));
        }
Exemplo n.º 5
0
        public NetworkManager(string ipAddress, int port, Type packetHandler, Type fallbackEncryptor, bool isWorldServer) : base(packetHandler, isWorldServer)
        {
            _encryptor = (EncryptorT)Activator.CreateInstance(typeof(EncryptorT));

            if (fallbackEncryptor != null)
            {
                _fallbackEncryptor = (CryptographyBase)Activator.CreateInstance(fallbackEncryptor);
            }

            _server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(ipAddress, port));

            // Register events of the server to be informed about clients
            _server.ClientConnected    += OnServerClientConnected;
            _server.ClientDisconnected += OnServerClientDisconnected;
            _server.WireProtocolFactory = new WireProtocolFactory <EncryptorT>();

            // Start the server
            _server.Start();

            if (port == 4002)
            {
                Console.WriteLine("[Start] Login Server has been started successfully");
                Console.WriteLine($"[Info] Started at: {DateTime.Now}");
            }

            if (isWorldServer)
            {
                Console.WriteLine($"[Start] World Server has been started successfully");
                Console.WriteLine($"[Info] Started at: {DateTime.Now}");
            }
            ;
        }
Exemplo n.º 6
0
        public Server(ILog logger, string ipAddress, int port)
        {
            _logger = logger;
            Port    = port;
            Host    = ipAddress;

            _clients      = new Dictionary <Guid, IInternalClient>();
            PacketService = new TCPServerPacketService();
            BanIps        = new List <string>();
            BanUsers      = new List <string>();

            BuildBanList();

            try
            {
                _logger.Info("Start ManageServer at {0}:{1}...", Category.System, Host, Port);
                _server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(Host, Port));

                _server.ClientConnected += OnConnected;
            }
            catch (Exception ex)
            {
                _logger?.Exception(ex, "Start ManagementServer");
            }
        }
Exemplo n.º 7
0
        public void ConnectWithCameraClient()
        {
            try
            {
                ImgPath = "";
                //create server instance
                if (objServerForCamera == null)
                {
                    objServerForCamera = ScsServerFactory.CreateServer(new ScsTcpEndPoint(8607));
                }

                //if created then map its events
                if (objServerForCamera == null)
                {
                    Log.WriteLog("Could not start port 8607 for listening transaction messages from KPROC", "Camera");
                }
                else
                {
                    objServerForCamera.ClientConnected    += Server_ClientConnectedCamera;
                    objServerForCamera.ClientDisconnected += Server_ClientDisconnectedCamera;
                }

                objServerForCamera.Start();
                Log.WriteLog("Port 8607 opened for listening camera transaction messages", "Camera");

                //bool isCameraAppRunning = false;
                //foreach (Process process in Process.GetProcesses())
                //{
                //    if (process.ProcessName.Contains("LipiCamMonitorApp"))
                //    {
                //        isCameraAppRunning = true;
                //        Log.WriteLog("Lipi Camera Monitor Application already running.", "Camera");
                //    }
                //}

                //if (!isCameraAppRunning)
                //{
                //    if (File.Exists(System.Configuration.ConfigurationManager.AppSettings["CamAppPath"].ToString()))
                //    {
                //        Process p = new Process();
                //        p.StartInfo.UseShellExecute = false;
                //        p.StartInfo.FileName = System.Configuration.ConfigurationManager.AppSettings["CamAppPath"].ToString();
                //        p.StartInfo.RedirectStandardOutput = false;
                //        p.StartInfo.CreateNoWindow = false;
                //        p.Start();

                //        //Process.Start(System.Configuration.ConfigurationManager.AppSettings["CamAppPath"].ToString());
                //        Log.WriteLog("Lipi Camera Application found and started", "Camera");
                //    }
                //    else
                //    {
                //        Log.WriteLog("Lipi Camera Application not found - " + System.Configuration.ConfigurationManager.AppSettings["CamAppPath"].ToString(), "Camera");
                //    }
                //}
            }
            catch (Exception ex)
            {
                Log.WriteLog("Exception in creating camera client - " + ex.Message, "Camera");
            }
        }
Exemplo n.º 8
0
        public void BeginListening()
        {
            this.server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(this.BindAddress, this.BinPort));
            this.server.Start();

            this.server.ClientConnected    += onClientConnected;
            this.server.ClientDisconnected += onClientDisconnected;
        }
Exemplo n.º 9
0
        public void BeginListening()
        {
            Logger.WriteLine(LogState.Info, "GameServer Listening on: {0}:{1}...", BindAddress, BindPort);
            Server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(BindAddress, BindPort));
            Server.Start();

            Server.ClientConnected    += OnConnected;
            Server.ClientDisconnected += OnDisconnected;
        }
Exemplo n.º 10
0
        public void BeginListening()
        {
            Log.Info("Start OuterServer at {0}:{1}...", BindAddress, BindPort);
            OuterServer = ScsServerFactory.CreateServer(new ScsTcpEndPoint(BindAddress, BindPort));
            OuterServer.Start();

            OuterServer.ClientConnected    += OnConnected;
            OuterServer.ClientDisconnected += OnDisconnected;
        }
Exemplo n.º 11
0
        public void BeginListening()
        {
            Server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(BindAddress, BindPort));

            Server.WireProtocolFactory = new KeyProtocolFactory();
            Server.ClientConnected    += Server_ClientConnected;

            Server.Start();
            Logger.WriteLine(LogState.Info, "LoginServer Listening on: " + BindAddress + ":" + BindPort);
        }
Exemplo n.º 12
0
        /// <summary>
        ///
        /// </summary>
        private void StartServer()
        {
            scsServer = ScsServerFactory.CreateServer(new ScsTcpEndPoint(serverPort));

            scsServer.ClientConnected    += ServerClientConnected;
            scsServer.ClientDisconnected += ServerClientDisconnected;

            scsServer.Start();

            Start.LargeGlyph = new BitmapImage(new Uri("Images/Stop.png", UriKind.Relative));
        }
Exemplo n.º 13
0
        /// <summary>
        /// Create TCP server by ScsServerFactory in Scs
        /// </summary>
        /// <param name="ip">ip address</param>
        /// <param name="port">port number</param>
        public void CreateServer(string ip, int port)
        {
            _server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(ip, port));

            // Registered events for server when client connected and disconnected
            _server.ClientConnected    += _server_ClientConnected;
            _server.ClientDisconnected += _server_ClientDisconnected;

            // log
            log.Info("Creating Server successfully");
        }
Exemplo n.º 14
0
        public void StartListening()
        {
            //Create a server that listens 8000 TCP port for incoming connections
            _server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(Config.ServerIpAddress, Config.ServerPort));
            _server.WireProtocolFactory = new BankProtocolFactory();
            //Register events of the server to be informed about clients
            _server.ClientConnected += Server_ClientConnected;
            _server.Start(); //Start the server

            _log.Info(String.Format("Bank Simulator Listening at: ip {0} : port {1}", Config.ServerIpAddress, Config.ServerPort));
            _log.Info("Bank Simulator Running...");
        }
Exemplo n.º 15
0
 public static void StartServer(int listeningPort)
 {
     if (!IsServerStarted)
     {
         // Создаем сервер, слушаем порт
         server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(listeningPort));
         //Register events of the server to be informed about clients
         server.ClientConnected    += Server_ClientConnected;
         server.ClientDisconnected += Server_ClientDisconnected;
         server?.Start();                 //Start the server
         IsServerStarted = true;
     }
 }
Exemplo n.º 16
0
        public override void PreInitialize()
        {
            //SCS package is just added to test dependency of a plugin module!
            var server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(42000));

            Configuration.EmbeddedResources.Sources.Add(
                new EmbeddedResourceSet(
                    "/Views/",
                    Assembly.GetExecutingAssembly(),
                    "AbpAspNetCoreDemo.PlugIn.Views"
                    )
                );
        }
Exemplo n.º 17
0
        public void StartListening(string ip, int port)
        {
            //Create a server that listens 8000 TCP port for incoming connections
            _server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(ip, port));
            _server.WireProtocolFactory = new AtmProtocolFactory();
            //Register events of the server to be informed about clients
            _server.ClientConnected    += Server_ClientConnected;
            _server.ClientDisconnected += Server_ClientDisconnected;
            _server.Start(); //Start the server

            _log.Info(String.Format("Server Triton Node Sevice Listening at: ip {0} : port {1}", ip, port));
            _log.Info("Switchlink.Switch.Service => Triton Node Sevice Running...");
        }
        public static void Run()
        {
            var server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(10033));

            server.ClientConnected += server_ClientConnected;

            server.Start();

            Console.WriteLine("Press enter to stop server");
            Console.ReadLine();

            server.Stop();
        }
Exemplo n.º 19
0
        public void Start()
        {
            //check CallInChannel client
            ThreadPool.QueueUserWorkItem(new WaitCallback(CheckConnectedStatus_Thread), SysParameters.SharkHandsInterval);

            //Create a server that listens gParam.sLocalPort TCP port for incoming connections
            ScsServer = ScsServerFactory.CreateServer(new ScsTcpEndPoint(ServerPort));

            //Register events of the server to be informed about clients
            ScsServer.ClientConnected    += Server_ClientConnected;
            ScsServer.ClientDisconnected += Server_ClientDisconnected;
            //Start the server
            ScsServer.Start();
        }
Exemplo n.º 20
0
        static void Main()
        {
            var server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(10033));

            server.WireProtocolFactory = new MyWireProtocolFactory(); //Set custom wire protocol factory!
            server.ClientConnected    += server_ClientConnected;

            server.Start();

            Console.WriteLine("Press enter to stop server");
            Console.ReadLine();

            server.Stop();
        }
Exemplo n.º 21
0
        public void Start()
        {
            //check upload client
            CheckConnectedStatusThread = new Thread(CheckConnectedStatus_Thread);
            CheckConnectedStatusThread.Start(Controller.GetInstance().Args.args.SharkHandsInterval);

            //Create a server that listens gParam.sLocalPort TCP port for incoming connections
            server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(UploadServerPort));

            //Register events of the server to be informed about clients
            server.ClientConnected    += Server_ClientConnected;
            server.ClientDisconnected += Server_ClientDisconnected;
            //Start the server
            server.Start();
        }
Exemplo n.º 22
0
        static void Main()
        {
            //Create a server that listens 10085 TCP port for incoming connections
            var server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(10085));

            //Register events of the server to be informed about clients
            server.ClientConnected    += Server_ClientConnected;
            server.ClientDisconnected += Server_ClientDisconnected;

            server.Start(); //Start the server

            Console.WriteLine("Server is started successfully. Press enter to stop...");
            Console.ReadLine(); //Wait user to press enter

            server.Stop();      //Stop the server
        }
Exemplo n.º 23
0
        public NetworkManager(string ipAddress, int port, Type packetHandler)
        {
            _packetHandler = packetHandler;
            _encryptor     = (EncryptorT)Activator.CreateInstance(typeof(EncryptorT));

            var server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(ipAddress, port));

            //Register events of the server to be informed about clients
            server.ClientConnected    += Server_ClientConnected;
            server.ClientDisconnected += Server_ClientDisconnected;
            server.WireProtocolFactory = new WireProtocolFactory <EncryptorT>();

            server.Start(); //Start the server

            Logger.Log.Info(Language.Instance.GetMessageFromKey("STARTED"));
        }
Exemplo n.º 24
0
        protected Server(ushort port, Logger logger, IDatabase database)
        {
            if (logger == null || database == null)
            {
                throw new Exception("logger == null || database == null");
            }

            Port     = port;
            Logger   = logger;
            Database = database;

            _scsServer = ScsServerFactory.CreateServer(new ScsTcpEndPoint(port));
            _scsServer.WireProtocolFactory = new TWireProtocolFactory();
            _scsServer.ClientConnected    += Internal_ClientConnected;
            _scsServer.ClientDisconnected += (s, e) => ClientDisconnected((NetworkClient)e.Client.Tag);
        }
Exemplo n.º 25
0
        public void Start()
        {
            _config   = ServerConfig.LoadConfig();
            _receiver = new ServerReceiver(_server);
            _server   = ScsServerFactory.CreateServer(new ScsTcpEndPoint(_config.Ip, _config.Port));

            new ServerLogic(_receiver, _server);

            _server.ClientConnected += Client_Connected;

            _server.Start();


            Console.WriteLine("Enter something to close server");
            Console.ReadLine();
            _server.Stop();
        }
Exemplo n.º 26
0
        public void Start()
        {
            mId          = Config.User.Id;
            mServiceName = Config.User.ServiceName;
            mPort        = Config.User.Port;

            foreach (var server in Config.User.Servers)
            {
                try
                {
                    using (var b = ScsClientFactory.CreateClient(new ScsTcpEndPoint(server.Ip, server.Port)))
                    {
                        b.Connected       += ServerOnConnected;
                        b.Disconnected    += ServerOnDisconnected;
                        b.MessageReceived += ServerOnMessageReceived;

                        b.ConnectTimeout = 2000;
                        b.Connect();
                        mBackEnds.Add(b);

                        mReConnecters.Add(new ClientReConnecter(b));
                    }
                }
                catch (Exception ex)
                {
                    Logger.FatalException("Server " + server.ServiceName + " at " + server.Ip + ":" + server.Port + " can not reached.", ex);
                    return;
                }
            }

            try
            {
                mFrontEndServer = ScsServerFactory.CreateServer(new ScsTcpEndPoint(mPort));
                mFrontEndServer.WireProtocolFactory = new ProtobufSerializationProtocolFactory();

                mFrontEndServer.ClientConnected    += ClientConnected;
                mFrontEndServer.ClientDisconnected += ClientDisconnected;

                mFrontEndServer.Start();
            }
            catch (Exception ex)
            {
                Logger.FatalException("Server start failed.", ex);
            }
        }
Exemplo n.º 27
0
        private void svr_uc_Load(object sender, EventArgs e)
        {
            var parser = new FileIniDataParser();

            data   = parser.ReadFile("app_set.ini");
            server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(int.Parse(data["NETWORK"]["MULTI_PORT"])));

            server.ClientConnected    += Server_ClientConnected;
            server.ClientDisconnected += Server_ClientDisconnected;
            restart_pc.Elapsed        += Restart_pc_Elapsed;
            check_task.Elapsed        += Check_task_Elapsed;
            get_csv.Elapsed           += Get_csv_Elapsed;
            get_log.Elapsed           += Get_log_Elapsed;

            get_csv.Enabled = true;
            get_log.Enabled = true;

            Rectangle rect = dgv_svr.GetCellDisplayRectangle(0, -1, true);

            // set checkbox header to center of header cell. +1 pixel to position correctly.
            rect.X      = rect.Location.X + 8;
            rect.Y      = rect.Location.Y + 10;
            rect.Width  = rect.Size.Width;
            rect.Height = rect.Size.Height;


            checkboxHeader.Name            = "checkboxHeader";
            checkboxHeader.Size            = new Size(15, 15);
            checkboxHeader.Location        = rect.Location;
            checkboxHeader.CheckedChanged += new EventHandler(checkboxHeader_CheckedChanged);
            dgv_svr.Controls.Add(checkboxHeader);


            if (Boolean.Parse(data["COPY"]["COPY_RD"]))
            {
                check_task.Enabled = true;
            }
            if (Boolean.Parse(data["PC"]["RESTART"]))
            {
                restart_pc.Enabled = true;
            }

            ConnectToServer();
        }
Exemplo n.º 28
0
        static void Main(string[] args)
        {
            IScsServer server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(LISTENING_PORT));

            server.WireProtocolFactory = new MyWireProtocolFactory();
            server.ClientConnected    += Server_ClientConnected;
            server.ClientDisconnected += Server_ClientDisconnected;

            server.Start(); //Start the server

            Console.WriteLine("Server is started successfully. Press enter to stop...");
            Console.ReadLine(); //Wait user to press enter

            // Disconnect all connected client
            foreach (IScsServerClient client in server.Clients.GetAllItems())
            {
                client.Disconnect();
            }
            server.Stop(); //Stop the server
        }
Exemplo n.º 29
0
        public NetworkManager(string ipAddress, int port, Type packetHandler, Type fallbackEncryptor, bool isWorldServer) : base(packetHandler, isWorldServer)
        {
            _encryptor = (EncryptorT)Activator.CreateInstance(typeof(EncryptorT));

            if (fallbackEncryptor != null)
            {
                _fallbackEncryptor = (EncryptionBase)Activator.CreateInstance(fallbackEncryptor);
            }

            _server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(ipAddress, port));

            // Register events of the server to be informed about clients
            _server.ClientConnected    += OnServerClientConnected;
            _server.ClientDisconnected += OnServerClientDisconnected;
            _server.WireProtocolFactory = new WireProtocolFactory <EncryptorT>();

            // Start the server
            _server.Start();

            Logger.Log.Info(Language.Instance.GetMessageFromKey("STARTED"));
        }
Exemplo n.º 30
0
        public NetworkManager(string ipAddress, int port, Type fallbackEncryptor, bool isWorldServer) : base(isWorldServer)
        {
            _encryptor = (TEncryptorT)Activator.CreateInstance(typeof(TEncryptorT));

            if (fallbackEncryptor != null)
            {
                _fallbackEncryptor = (CryptographyBase)Activator.CreateInstance(fallbackEncryptor);
            }

            _server = ScsServerFactory.CreateServer(new ScsTcpEndPoint(ipAddress, port));

            // Register events of the server to be informed about clients
            _server.ClientConnected    += OnServerClientConnected;
            _server.ClientDisconnected += OnServerClientDisconnected;
            _server.WireProtocolFactory = new WireProtocolFactory();

            // Start the server
            _server.Start();

            // ReSharper disable once ExplicitCallerInfoArgument
            Logger.Info(Language.Instance.GetMessageFromKey("STARTED"), memberName: "NetworkManager");
        }