private void RegisterGatewayServer() { GatewayServer gateway = GetGatewayServer( ); if (gateway == null) { return; } GatewayServersManager serverManager = new GatewayServersManager(gateway); if (serverManager != null) { AeInfo remote = serverManager.GetRemoteServer(); if (remote != null) { StorageServerInformation info = GetStorageServerInfo(); if (info != null) { if (remote.Address == info.DicomServer.IPAddress && remote.Port == info.DicomServer.Port) { DicomServer server = ServiceLocator.Retrieve <DicomServer>(); GatewaySession.Log(string.Empty, string.Empty, -1, DicomCommandType.Undefined, LogType.Error, MessageDirection.None, null, "Gateway - Remote server cannot be the same as primary server. Gateway [" + server.AETitle + "] not available."); return; } } } ServiceLocator.Register <GatewayServersManager> (serverManager); } }
private void InitializeForwards(ITunnel tunnel, int sid) { foreach (var forward in ClientConfig.Forwards.Values) { if (!forward.Enabled) { continue; } var remotePort = forward.RemotePort; var localPort = forward.LocalPort; var shared = forward.Shared; var address = forward.Address; if (_servers.ContainsKey(localPort)) { Log(string.Format(Strings.FORWARD_CANCELED, localPort, address, remotePort), ESeverity.WARN); } else { var server = new GatewayServer(localPort, shared, remotePort, address, tunnel, sid); _servers.Add(localPort, server); } } }
static void Main(string[] args) { AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; ConsoleMonitor.Closed += ConsoleMonitor_Closed; string portStr = ConfigurationManager.AppSettings["GatewayPort"]; int port = int.Parse(portStr); //NetServer server = new NetServer(port); //server.Start(); GatewayServer.StartServer(); Console.WriteLine("网关服务启动!"); Logger.Default.Trace("网关服务启动!"); while (true) { string line = Console.ReadLine(); if (line.Equals("exit", StringComparison.OrdinalIgnoreCase)) { break; } else if (line.Equals("clear", StringComparison.OrdinalIgnoreCase)) { Console.Clear(); } else if (line.Equals("share", StringComparison.OrdinalIgnoreCase)) { ResourceSharer.Instance.NotifyToPlatform("7aad6dba-819a-42f8-b712-3415d4aa228e"); } } }
private GatewayServer GetGatewayServer( ) { GatewayServer gateway; gateway = __Settings.GetAddInCustomData <GatewayServer> (this.GetType( ).Name, typeof(GatewayServer).Name); if (gateway == null) { DicomServer server = __Server; if (null != server) { gateway = new GatewayServer( ); gateway.Server = new AeInfo( ); gateway.ServiceName = server.Name; gateway.Server.AETitle = server.AETitle; gateway.Server.Address = server.HostAddress; gateway.Server.Port = server.HostPort; } } return(gateway); }
/// ----------------------------------------------------------------------------- /// <summary> /// Initialise les différents serveurs pour le test /// </summary> /// <typeparam name="T">le protocole à utiliser</typeparam> /// <param name="port">le port de base pour le remoting</param> /// <param name="server">le serveur (tunnel)</param> /// <param name="client">le client (tunnel)</param> /// <param name="echo">le serveur d'echo</param> /// <param name="gw">la passerelle</param> /// ----------------------------------------------------------------------------- private void Initialize <T>(int port, out BdtServer server, out BdtClient client, out EchoServer echo, out GatewayServer gw) where T : GenericProtocol { Assert.AreEqual(ChannelServices.RegisteredChannels.Length, 0); var config = new TestConfigPackage(typeof(T).FullName, port); server = new TestServer(TestContext, config); client = new TestClient(TestContext, config); var args = new String[] { }; server.LoadConfiguration(args); client.LoadConfiguration(args); Tunnel.Configuration = server.Configuration; Tunnel.Logger = LoggedObject.GlobalLogger; server.Protocol.ConfigureServer(typeof(Tunnel)); client.StartClient(); Assert.AreEqual(ChannelServices.RegisteredChannels.Length, 2); echo = new EchoServer(port + EchoOffset, false); Servers.Add(echo); gw = new GatewayServer(port + GatewayOffset, false, port + EchoOffset, "localhost", client.Tunnel, client.Sid); Servers.Add(gw); }
private void MoveRow(int direction) { Gateways gateways = (Gateways)_gatewaySource.DataSource; Gateways.RemoteServerRow currentRow = ((Gateways.RemoteServerRow)(( DataRowView )_remoteServerSource.Current).Row); _remoteServerSource.Position += direction; Gateways.RemoteServerRow newRow = ((Gateways.RemoteServerRow)(( DataRowView )_remoteServerSource.Current).Row); AeInfo remoteServer = (AeInfo)currentRow.RemoteServerSettings; int currentIndex = gateways.RemoteServer.Rows.IndexOf(currentRow); int newIndex = gateways.RemoteServer.Rows.IndexOf(newRow); object[] items = currentRow.ItemArray; gateways.RemoteServer.Rows.Remove(currentRow); DataRow updateRow = gateways.RemoteServer.NewRow( ); updateRow.ItemArray = items; gateways.RemoteServer.Rows.InsertAt(updateRow, newIndex); _remoteServerSource.Position = newIndex; GatewayServer server = ( GatewayServer )((Gateways.GatewayServerRow)(( DataRowView )_gatewaySource.Current).Row).GatewayServer; int aeInfoIndex = server.RemoteServers.IndexOf(remoteServer); aeInfoIndex += direction; server.RemoteServers.Remove(remoteServer); server.RemoteServers.Insert(aeInfoIndex, remoteServer); GatewaySettingsPresenter.SetGatwayServerAddInSettings(server); }
public static void Start() { if (_GatewayServer == null) {//webactivatorex sometimes calls start twice.. I think it might call Debug.WriteLine("Calling Start on Gateway"); _GatewayServer = new GatewayServer(); } }
private void _adapter_ReceiveCompleted(object sender, SocketHelper.Events.ReceiveEventArgs args) { if (args.ByteLenght >= 4) { int code = BitConverter.ToInt32(args.ReceivedBytes, 0); switch (code) { case MessageCode.StartServer: { GatewayServer.StartServer(); } break; case MessageCode.StopServer: { GatewayServer.StopServer(); } break; case MessageCode.StartRegister: { StringPacket sp = StringPacket.DeserializeObject(args.ReceivedBytes); GatewayServer.StartRegister(sp.Content); } break; case MessageCode.StopRegister: { StringPacket sp = StringPacket.DeserializeObject(args.ReceivedBytes); GatewayServer.StopRegister(sp.Content); } break; case MessageCode.IsServerStarted: { send(new BoolPacket(code, GatewayServer.IsServerStarted())); } break; case MessageCode.IsSuperiorOnline: { StringPacket sp = StringPacket.DeserializeObject(args.ReceivedBytes); send(new BoolPacket(code, GatewayServer.IsSuperOnline(sp.Content))); } break; case MessageCode.ShareDevice: { StringPacket sp = StringPacket.DeserializeObject(args.ReceivedBytes); GatewayServer.ShareToPlatform(sp.Content); } break; } } }
private void ManagerRemoveObjectFunc(Session sess) { if (sess.Object is GatewayServer) { GatewayServer gate_server = sess.Object as GatewayServer; if (null != gate_server) { GatewayServerManager.Instance.RemoveGatewayServer(gate_server); } } }
private void ManagerRemoveObjectFunc(Session sess) { if (sess.Object is GatewayServer) { GatewayServer gate_server = sess.Object as GatewayServer; if (null != gate_server) { Debug.Assert(false); } } }
private static DicomService GetGatewayService(Gateways.GatewayServerRow gatewayRow) { DicomService gatewayService = null; GatewayServer gatewayServer = (GatewayServer)gatewayRow.GatewayServer; if (ServerState.Instance.ServiceAdmin.Services.ContainsKey(gatewayServer.ServiceName)) { gatewayService = ServerState.Instance.ServiceAdmin.Services [gatewayServer.ServiceName]; } return(gatewayService); }
public void NotEnoughDrivers_SimultaneousTrips_VerifyRejected() { Logger.Log("NotEnoughDrivers_SimultaneousTrips_VerifyRejected"); /* In this test since there are not enough drivers it tries to dispatch to tripthru -- * which has an empty implementation that always rejects. * We expect an assertion error because we expect the trip status to change from Queued to Dispatched * */ GatewayServer gatewayServer = new GatewayServer("EmptyGateway", "EmptyGateway"); Test_TripLifeCycle_Base lib = new Test_TripLifeCycle_Base( filename: "Test_Configurations/LocalTripsNotEnoughDriversSimultaneous.txt", tripthru: gatewayServer, maxLateness: new TimeSpan(0, 1, 0)); lib.Test_SimultaneousTripLifecycle_ForAllPartnerFleets(new List <Partner>() { lib.partner }); }
public void UpdateUI( ) { _syncContext.Send(new SendOrPostCallback(delegate(object state) { _serverControlStrip.CanStart = _serverControlStrip.CanStop = (_view.SelectedRow != null) && ServerState.Instance.ServiceAdmin != null; _serverControlStrip.CanStartAll = _serverControlStrip.CanStopAll = _gatewaySource.Count > 0 && ServerState.Instance.ServiceAdmin != null; if (null != _view.SelectedRow && _gatewaySource.Current != null) { GatewayServer server = (GatewayServer)((Gateways.GatewayServerRow)(( DataRowView )_gatewaySource.Current).Row).GatewayServer; if (null != ServerState.Instance.ServiceAdmin && ServerState.Instance.ServiceAdmin.Services.ContainsKey(server.ServiceName)) { DicomService service = ServerState.Instance.ServiceAdmin.Services [server.ServiceName]; _serverControlStrip.CanStart = service.Status != ServiceControllerStatus.Running; _serverControlStrip.CanStop = service.Status != ServiceControllerStatus.Stopped; } } }), null); }
static void Main(string[] args) { AppDomain.MonitoringIsEnabled = true; logger.Info("Loading settings."); config.Load("./Settings.config"); dynamic result; if (Sheriffy.Check(config.Key, out result)) { logger.Info("Subscription name : {0} ", result["subscription"]["name"]); logger.Info("Subscription key : {0} ", result["subscription"]["key"]); logger.Info("Subscription remaining : {0} days", result["subscription"]["remaining"]["days"]); logger.Info("Subscription end date : {0} ", result["subscription"]["remaining"]["date"]); } else { logger.Info("Your subscription has expired or not found please contact to your provider."); Environment.Exit(100); } logger.Info("Loading librarys."); manager.LoadLibrarys(); logger.Info("Loading plugins."); manager.Load(); logger.Info("({0}) Plugin successfully loaded.", manager.Plugins.Count); logger.Info("Services are being loaded and starting."); foreach (Server module in config.Servers) { if (module.Class == typeof(GatewayServer).FullName) { GatewayServer server = new GatewayServer(); server.Bind = module.Bind; server.ID = module.ID; server.Class = module.Class; server.Description = module.Description; server.Divisions = module.Divisions; server.Server = module.Reditected; server.Start(); services.Add(server); } else if (module.Class == typeof(AgentServer).FullName) { AgentServer server = new AgentServer(); server.Bind = module.Bind; server.ID = module.ID; server.Class = module.Class; server.Description = module.Description; server.Start(); services.Add(server); } else if (module.Class == typeof(DownloadServer).FullName) { DownloadServer server = new DownloadServer(); server.Bind = module.Bind; server.ID = module.ID; server.Class = module.Class; server.Description = module.Description; server.Start(); services.Add(server); } else if (module.Class == typeof(ApiServer).FullName) { ApiServer server = new ApiServer(); server.Bind = module.Bind; server.ID = module.ID; server.Class = module.Class; server.Description = module.Description; server.OnRequestReceived += ApiServer_OnRequestReceived; server.Start(); services.Add(server); } } logger.Info("Everything is looking fine."); SetupConsole(); }
public static void Stop() { _GatewayServer.Dispose(); _GatewayServer = null; }
/// ----------------------------------------------------------------------------- /// <summary> /// Destruction des entités de test /// </summary> /// <param name="server">le serveur (tunnel)</param> /// <param name="client">le client (tunnel)</param> /// <param name="echo">le serveur d'echo</param> /// <param name="gw">la passerelle</param> /// ----------------------------------------------------------------------------- private void Finalize(ref BdtServer server, ref BdtClient client, ref EchoServer echo, ref GatewayServer gw) { Assert.AreEqual(ChannelServices.RegisteredChannels.Length, 2); client.StopClient(); Tunnel.DisableChecking(); server.Protocol.UnConfigureServer(); server.UnLoadConfiguration(); client.UnLoadConfiguration(); server = null; client = null; Assert.AreEqual(ChannelServices.RegisteredChannels.Length, 0); echo.CloseServer(); Servers.Remove(echo); echo = null; gw.CloseServer(); Servers.Remove(gw); gw = null; }
static void Main(string[] args) { while (true) { var line = Console.ReadLine(); args = line.Trim().Split(' '); string cmd = args[0].ToLowerInvariant(); if (cmd == "start") { if (GatewayServer == null) { GatewayServer = new GatewayServer(6608, 10000); GatewayServer.ClientConnected += GatewayServer_ClientConnected; GatewayServer.ClientDisconnected += GatewayServer_ClientDisconnected; GatewayServer.ClientRuntimeUpdated += GatewayServer_ClientRuntimeUpdated; } GatewayServer.Start(); if (MediaServer == null) { MediaServer = new MediaServer("Media Server", 6602); MediaServer.ClientConnected += MediaServer_ClientConnected; } MediaServer.Start(); if (MediaRtspServer == null) { MediaRtspServer = new MediaRtspServer(6601); } MediaRtspServer.Start(); } else if (cmd == "stop") { if (GatewayServer != null) { GatewayServer.Stop(); } if (MediaServer != null) { MediaServer.Stop(); } } else if (cmd == "open") { var devIDNO = args[1]; var channelNo = int.Parse(args[2]); GatewayServer.SendStartVideo(devIDNO, channelNo, ServerIp, 6602); } else if (cmd == "close") { var devIDNO = args[1]; var channelNo = int.Parse(args[2]); GatewayServer.SendStopVideo(devIDNO, channelNo, ServerIp, 6602); } } }