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(); } }
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(); } }
private void StopServer(InternalServer server) { server.Connected -= OnConnected; server.Message -= OnMessage; server.Disconnected -= OnDisconnected; server.Dispose(); }
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(); }
public void Dispose() { if (!IsDisposed) { IsDisposed = true; if (InternalServer != null && InternalServer.Connected) { InternalServer.Disconnect(false); } InternalServer?.Dispose(); InternalServer = null; } }
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(); } }