Example #1
0
        static void Main()
        {
            InternalServer server = null;

            try
            {
                server = new MultiClientServer();
                // The Multi Client Host ...
                var parent = server.CreateClient <MultiClientHost>();
                // The Server Console Client ...
                var scc = new ServerConsoleClient();
                server.CreateClient(scc, parent).SetDisconnectedHandler(
                    (session, args) => { scc.StartConnectionEstablishment(); });
                // The Client Console Client ...
                var ccc = new ClientConsoleClient();
                server.CreateClient(ccc, parent);
                var bo1 = new CccBo1();
                server.CreateClient(bo1, ccc);
                server.CreateClient(new CccBo2(), bo1);

                if (!server.Start())
                {
                    throw new Exception("Cannot start UA Server without errors!");
                }

                var startTs = DateTimeHelper.currentTimeMillis();
                while (true)
                {
                    Thread.Sleep(1000);

/*
 *                  var runtime = DateTimeHelper.currentTimeMillis() - startTs;
 *                  if (15000 < runtime && runtime < 17000)
 *                  {
 *                      var cl = server.AddClient<ClientConsoleClient>();
 *                      Logger.Info($"{cl} added.");
 *                  }
 *                  else if (runtime > 17000)
 *                  {
 *                      var registeredClients = server.RegisteredClients();
 *                      if (registeredClients.Count <= 1) continue;
 *                      Console.Out.WriteLine($"Registered Business Object count == {registeredClients.Count}");
 *                      var lbo = registeredClients.Last();
 *                      server.RemoveClient(lbo.BoId);
 *                  }
 */
                }
            }
            catch (Exception e)
            {
                ExceptionHandler.Log(e, "Error while starting the MultiClientConsole ...");
                Logger.Info("Press <enter> to exit the program.");
                Console.ReadLine();
            }
            finally
            {
                // Stop the server.
                server?.Stop();
            }
        }
Example #2
0
        static void Main(string[] args)
        {
            InternalServer server = null;

            try
            {
                ConnectionInfo connection = new ConnectionInfo("localhost", 48030, "ServerConsole");
                server = new InternalServer(connection.Ip, connection.Port, connection.Application);

                server.CreateClient <BusinessLogic>();
                var bo1 = server.CreateClient <BoProxy>();
                server.CreateClient <BusinessLogic>(bo1);

                server.Start();

                while (true)
                {
                    Thread.Sleep(100);
                }
            }
            catch (Exception e)
            {
                ExceptionHandler.Log(e, "Error while starting the OfficeServerConsole ...");
                Logger.Info("Press <enter> to exit the program.");
                Console.ReadLine();
            }
            finally
            {
                // Stop the server.
                server?.Stop();
            }
        }
Example #3
0
 private void StopServer(InternalServer server)
 {
     server.Connected    -= OnConnected;
     server.Message      -= OnMessage;
     server.Disconnected -= OnDisconnected;
     server.Dispose();
 }
Example #4
0
        private void StartServer()
        {
            var server = new InternalServer(nextServerId, PipeName);

            servers.Add(nextServerId, server);
            server.Connected    += OnConnected;
            server.Message      += OnMessage;
            server.Disconnected += OnDisconnected;
            nextServerId++;
            server.Start();
        }
Example #5
0
        public void Dispose()
        {
            if (!IsDisposed)
            {
                IsDisposed = true;

                if (InternalServer != null && InternalServer.Connected)
                {
                    InternalServer.Disconnect(false);
                }

                InternalServer?.Dispose();

                InternalServer = null;
            }
        }
Example #6
0
        static void Main(string[] args)
        {
            InternalServer server = null;

            try
            {
                server = new OfficeConsoleServer();

                var bo  = server.CreateClient <BusinessLogic>();
                var bo1 = server.CreateClient <BusinessLogic1>(bo);
                server.CreateClient <BusinessLogic2>(bo1);
                server.CreateClient <RemoteBusinessLogic>();

/*
 *              var boParent = server.CreateUaObject<RemoteBusinessLogic>();
 *              server.CreateUaObject<RemoteBoProxy>(boParent);
 */
                server.Start();

                while (true)
                {
                    Thread.Sleep(100);
                }
            }
            catch (Exception e)
            {
                ExceptionHandler.Log(e, "Error while starting the OfficeServerConsole ...");
                Logger.Info("Press <enter> to exit the program.");
                Console.ReadLine();
            }
            finally
            {
                // Stop the server.
                server?.Stop();
            }
        }