Exemple #1
0
 public static IWebHost BuildWebHost(string[] args)
 {
     return(WebHost.CreateDefaultBuilder(args)
            .UseStartup <Startup>()
            .UseUrls("http://localhost:" + PortUtils.FindAvailablePortIncrementally(5050))
            .Build());
 }
Exemple #2
0
        public void PortTest1()
        {
            // (Moritz Eberl) At least for my machine
            Assert.IsFalse(PortUtils.IsPortFree(1115));

            Assert.IsTrue(PortUtils.IsPortFree(11150));
        }
Exemple #3
0
        public static IPublishSubscribe Auto(string clusterId)
        {
            ILoggerFactory loggerFactory = new LoggerFactory().AddConsole(LogLevel.Debug);

            Log.SetLoggerFactory(loggerFactory);
            ISerializer <byte[]> serializer = new MessagePackSerializer();
            IPublishSubscribe    pubSub     = new PublishSubscribeBuilder(new WireSerializer())
                                              .SetClusterName(clusterId)
                                              .SetSerializer(serializer)
                                              .SetLoggerFactory(loggerFactory)
                                              .ProtoActorPublishSubscribe()
                                              //.GrpcPublishSubscribe(seedsEndpointObservable: Observable.Return(new[]
                                              //{
                                              //	new DnsEndPoint("localhost", 35000),
                                              //	new DnsEndPoint("localhost", 35001),
                                              //	new DnsEndPoint("localhost", 35002),
                                              //	new DnsEndPoint("localhost", 35003)
                                              //}))
                                              .Build();

            //ClusterBuilder.RunSeededLocalCluster(clusterId);
            Cluster.Start("Abe", "localhost", PortUtils.FindAvailablePortIncrementally(36002), new ConsulProvider(new ConsulProviderOptions()));

            return(pubSub);
        }
Exemple #4
0
        public string GetNativeConnectionString(string instanceName, string username = "******", string password = "******")
        {
            Virtuoso v    = _instances[instanceName];
            int?     port = PortUtils.GetPort(v.Configuration.Parameters.ServerPort);

            return("Server=localhost:" + port + ";uid=" + username + ";pwd=" + password + ";Charset=utf-8");
        }
Exemple #5
0
        public ICollection <HostUrlDetails> GetDetails()
        {
            var list = new List <HostUrlDetails>();

            if (Urls == null)
            {
                int    port     = Port > 0 ? Port.Value : FindFreeTcpPort();
                string protocol = UseSSL ? "https" : "http";
                list.Add(new HostUrlDetails {
                    IsHttps = UseSSL, Url = $"{protocol}://{LOCALHOST}:{port}", Protocol = protocol, Host = LOCALHOST, Port = port
                });
            }
            else
            {
                foreach (string url in Urls)
                {
                    PortUtils.TryExtract(url, out bool isHttps, out string protocol, out string host, out int port);
                    list.Add(new HostUrlDetails {
                        IsHttps = isHttps, Url = url, Protocol = protocol, Host = host, Port = port
                    });
                }
            }

            return(list);
        }
Exemple #6
0
        public string GetConnectionString(string instanceName, string username = "******", string password = "******")
        {
            Virtuoso v = _instances[instanceName];

            int?port = PortUtils.GetPort(v.Configuration.Parameters.ServerPort);

            return(string.Format("provider=virtuoso;host=localhost;port={0};uid={1};pw={2}", port, username, password));
        }
Exemple #7
0
        private int FindFreeTcpPort()
        {
#if USE_ASPNETCORE || NETSTANDARD2_0 || NETSTANDARD2_1
            return(0);
#else
            return(PortUtils.FindFreeTcpPort());
#endif
        }
        private Task RunHost(CancellationToken token)
        {
            try
            {
                var appLifetime = (IApplicationLifetime)_host.Services.GetService(typeof(IApplicationLifetime));
                appLifetime.ApplicationStarted.Register(() =>
                {
                    var addresses = _host.ServerFeatures
                                    .Get <Microsoft.AspNetCore.Hosting.Server.Features.IServerAddressesFeature>()
                                    .Addresses;

                    foreach (string address in addresses)
                    {
                        Urls.Add(address.Replace("0.0.0.0", "localhost").Replace("[::]", "localhost"));

                        PortUtils.TryExtract(address, out bool isHttps, out string protocol, out string host, out int port);
                        Ports.Add(port);
                    }

                    IsStarted = true;
                });

#if NETSTANDARD1_3
                _logger.Info("WireMock.Net server using netstandard1.3");
#elif NETSTANDARD2_0
                _logger.Info("WireMock.Net server using netstandard2.0");
#elif NETSTANDARD2_1
                _logger.Info("WireMock.Net server using netstandard2.1");
#elif NETCOREAPP3_1
                _logger.Info("WireMock.Net server using .NET Core 3.1");
#elif NET5_0
                _logger.Info("WireMock.Net server using .NET 5.0");
#elif NET46
                _logger.Info("WireMock.Net server using .NET Framework 4.6.1 or higher");
#endif

#if NETSTANDARD1_3
                return(Task.Run(() =>
                {
                    _host.Run(token);
                }));
#else
                return(_host.RunAsync(token));
#endif
            }
            catch (Exception e)
            {
                _runningException = e;
                _logger.Error(e.ToString());

                IsStarted = false;

                return(Task.CompletedTask);
            }
        }
Exemple #9
0
        public static IDisposable RunSeededLocalCluster(string clusterId = null,
                                                        int port         = 36100)
        {
            IPAddress ipAddress  = NetworkUtils.GetLocalIpAddress().First();
            int       serverPort = PortUtils.FindAvailablePortIncrementally(port);

            IPEndPoint[] seedsEndpoints = { new IPEndPoint(ipAddress, port), new IPEndPoint(ipAddress, serverPort) };
            global::Proto.Cluster.Cluster.Start(clusterId, ipAddress.ToString(), serverPort,
                                                new SeededLocalClusterProvider(Observable.Return(seedsEndpoints.Distinct())));
            return(new AnonymousDisposable(() => global::Proto.Cluster.Cluster.Shutdown()));
        }
Exemple #10
0
        public BusinessApiTests()
        {
            int           port   = PortUtils.FindFreeTcpPort();
            Configuration config = new Configuration();

            config.BasePath = "http://localhost:" + port;
            config.ApiKey.Add("x-trulioo-api-key", TEST_API_KEY);
            businessApi = new BusinessApi(config);

            mockServer = WireMockServer.Start(port);
        }
Exemple #11
0
        public Task StartAsync()
        {
            _host = new WebHostBuilder()
                    .ConfigureServices(services =>
            {
                services.AddSingleton(_options.FileSystemHandler);
                services.AddSingleton(_options);
                services.AddSingleton <IMappingMatcher, MappingMatcher>();
                services.AddSingleton <IOwinRequestMapper, OwinRequestMapper>();
                services.AddSingleton <IOwinResponseMapper, OwinResponseMapper>();
            })
                    .Configure(appBuilder =>
            {
                appBuilder.UseMiddleware <GlobalExceptionMiddleware>();

                _options.PreWireMockMiddlewareInit?.Invoke(appBuilder);

                appBuilder.UseMiddleware <WireMockMiddleware>();

                _options.PostWireMockMiddlewareInit?.Invoke(appBuilder);
            })
                    .UseKestrel(options =>
            {
#if NETSTANDARD1_3
                if (_urls.Any(u => u.StartsWith("https://", StringComparison.OrdinalIgnoreCase)))
                {
                    options.UseHttps(PublicCertificateHelper.GetX509Certificate2());
                }
#else
                // https://docs.microsoft.com/en-us/aspnet/core/fundamentals/servers/kestrel?tabs=aspnetcore2x
                foreach (string url in _urls.Where(u => u.StartsWith("http://", StringComparison.OrdinalIgnoreCase)))
                {
                    PortUtils.TryExtract(url, out string protocol, out string host, out int port);
                    options.Listen(System.Net.IPAddress.Any, port);
                }

                foreach (string url in _urls.Where(u => u.StartsWith("https://", StringComparison.OrdinalIgnoreCase)))
                {
                    PortUtils.TryExtract(url, out string protocol, out string host, out int port);
                    options.Listen(System.Net.IPAddress.Any, port, listenOptions =>
                    {
                        listenOptions.UseHttps(PublicCertificateHelper.GetX509Certificate2());
                    });
                }
#endif
            })
#if NETSTANDARD1_3
                    .UseUrls(_urls)
#endif
                    .Build();

            return(RunHost(_cts.Token));
        }
        public static void Validate(IContainPort instance)
        {
            if ((1 > instance.Port) || (49151 < instance.Port))
            {
                throw new EngineValidationException("Port number is not between 1 and 65535");
            }

            if (!PortUtils.CheckAvailable(instance.Port))
            {
                throw new EngineValidationException($"Port {instance.Port} is not available");
            }
        }
        public static void Validate(IHttpInstance instance)
        {
            if (instance.Port < 1 || instance.Port > 49151)
            {
                throw new EngineValidationException("Port number is not between 1 and 49151");
            }

            if (!PortUtils.CheckAvailable(instance.Port))
            {
                throw new EngineValidationException($"Port {instance.Port} is not available");
            }
        }
Exemple #14
0
        public static IRuleBuilderOptions <T, string> PortAvailable <T>(this IRuleBuilder <T, string> ruleBuilder)
        {
            return(ruleBuilder.Must((t, port) =>
            {
                if (int.TryParse(port, out var result))
                {
                    return PortUtils.CheckAvailable(result);
                }

                return false;
            })
                   .WithMessage(MSG_PORT_IN_USE));
        }
Exemple #15
0
    /// <summary>
    /// 初始化udp
    /// </summary>
    public void Connect()
    {
        udpClient = new UdpClient(PortUtils.GetNewPort());
        UdpState s = new UdpState();

        s.e = e;
        s.u = udpClient;
        udpClient.BeginReceive(new AsyncCallback(ReceiveBuffer), s);
        EventSystem.RegisterEvent(EventID.send_udp_buffer, SendBuffer);
        EventSystem.RegisterEvent(EventID.receive_udp_buffer, ReceiveUdpBuffer);
        //去初始udp
        EventSystem.DispatchEvent(EventID.udp_init_success);
    }
Exemple #16
0
        public void PortUtils_TryExtract_InvalidUrl_Returns_False()
        {
            // Assign
            string url = "test";

            // Act
            bool result = PortUtils.TryExtract(url, out string proto, out string host, out int port);

            // Assert
            Check.That(result).IsFalse();
            Check.That(proto).IsNull();
            Check.That(host).IsNull();
            Check.That(port).IsEqualTo(default(int));
        }
Exemple #17
0
        public void PortUtils_TryExtract_ValidUrl1_Returns_True()
        {
            // Assign
            string url = "https://wiremock.net:5000";

            // Act
            bool result = PortUtils.TryExtract(url, out string proto, out string host, out int port);

            // Assert
            Check.That(result).IsTrue();
            Check.That(proto).IsEqualTo("https");
            Check.That(host).IsEqualTo("wiremock.net");
            Check.That(port).IsEqualTo(5000);
        }
        public bool Start(bool waitOnStartup = true, TimeSpan?timeout = null)
        {
            _job = new Job();

            STARTUPINFO si = new STARTUPINFO();

            si.wShowWindow = 0;


            PROCESS_INFORMATION pi = new PROCESS_INFORMATION();
            bool success           = Win32Process.CreateProcess(Executable, string.Format("{0} {1}", Executable, Parameter),
                                                                IntPtr.Zero, IntPtr.Zero, false,
                                                                ProcessCreationFlags.NORMAL_PRIORITY_CLASS |
                                                                ProcessCreationFlags.CREATE_NO_WINDOW |
                                                                ProcessCreationFlags.STARTF_USESTDHANDLES |
                                                                ProcessCreationFlags.CREATE_BREAKAWAY_FROM_JOB,
                                                                IntPtr.Zero, _workingDir.FullName, ref si, out pi);

            _job.AddProcess(pi.hProcess);
            _process = Process.GetProcessById((int)pi.dwProcessId);

            if (success && waitOnStartup)
            {
                double time = 0;
                if (timeout.HasValue)
                {
                    time = timeout.Value.TotalMilliseconds;
                }
                while (!_serverStartOccured)
                {
                    _serverStartOccured = !PortUtils.IsPortFree(Port);
                    if (!_serverStartOccured)
                    {
                        Thread.Sleep(10);
                        if (timeout.HasValue)
                        {
                            time -= 10;
                            if (time <= 0)
                            {
                                break;
                            }
                        }
                    }
                }
            }



            return(success);
        }
Exemple #19
0
        public void PortUtils_TryExtract_Https0_0_0_0_Returns_True()
        {
            // Assign
            string url = "https://0.0.0.0:5000";

            // Act
            bool result = PortUtils.TryExtract(url, out bool isHttps, out string proto, out string host, out int port);

            // Assert
            Check.That(result).IsTrue();
            Check.That(proto).IsEqualTo("https");
            Check.That(host).IsEqualTo("0.0.0.0");
            Check.That(port).IsEqualTo(5000);
        }
 public RTPServer GetOrAddServer(string videoId)
 {
     if (_rtpServers.ContainsKey(videoId))
     {
         return(_rtpServers[videoId]);
     }
     else
     {
         int       port = PortUtils.GetFreeRTPPort();
         RTPServer rs   = new RTPServer(port, videoId);
         rs.TargetsCleared   += Rs_TargetsCleared;
         _rtpServers[videoId] = rs;
         return(rs);
     }
 }
Exemple #21
0
        public void PortUtils_TryExtract_Https_Returns_True()
        {
            // Assign
            string url = "https://wiremock.net:5000";

            // Act
            bool result = PortUtils.TryExtract(url, out bool isHttps, out string proto, out string host, out int port);

            // Assert
            result.Should().BeTrue();
            isHttps.Should().BeTrue();
            proto.Should().Be("https");
            host.Should().Be("wiremock.net");
            port.Should().Be(5000);
        }
        public MongoDbServerProcess CreateMongoDbServerProcess()
        {
            var host             = "127.0.0.1";
            var port             = PortUtils.GetFreePortNumber();
            var workingDirectory = getTempWorkingDirectory();

            return(new MongoDbServerProcess()
            {
                WorkingDirectory = workingDirectory,
                FileName = getMongoDbDeamonPath(),
                Arguments = getMongoDbServerArguments(port, host, workingDirectory),
                ServerPort = port,
                ServerHost = host
            });
        }
Exemple #23
0
        public void PortUtils_TryExtract_UrlIsMissingPort_Returns_False()
        {
            // Assign
            string url = "http://0.0.0.0";

            // Act
            bool result = PortUtils.TryExtract(url, out bool isHttps, out string proto, out string host, out int port);

            // Assert
            result.Should().BeFalse();
            isHttps.Should().BeFalse();
            proto.Should().BeNull();
            host.Should().BeNull();
            port.Should().Be(default(int));
        }
Exemple #24
0
        public VncServer(int listenerPort = 0)
            : base(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
        {
            working = true;
            ListenerPortOfServer = listenerPort;
            if (listenerPort == 0)
            {
                listenerPort = PortUtils.GetFreePort();
            }

            Bind(new IPEndPoint(IPAddress.Any, listenerPort));
            Listen(Constants.MAX_PENDING_CONNECTION);
            DataArrived += new DataArrivedEventHandler(DataArrivedHandler);
            Task.Factory.StartNew(() => { ListenerEngine(); });
            Task.Factory.StartNew(() => { ScreenSender(); });
        }
        public static void Validate(IDatabaseMaintenanceSupport instance)
        {
            if (!instance.DatabaseMaintenancePort.HasValue)
            {
                throw new EngineValidationException("Maintenance port number is not set");
            }

            if (instance.DatabaseMaintenancePort < 1 || instance.DatabaseMaintenancePort > 49151)
            {
                throw new EngineValidationException("Maintenance port number is not between 1 and 49151");
            }

            if (!PortUtils.CheckAvailable(instance.DatabaseMaintenancePort.Value))
            {
                throw new EngineValidationException($"Port {instance.DatabaseMaintenancePort} is not available");
            }
        }
        public ProtoClusterRxBroker(IClusterProvider clusterProvider)
        {
            Props props = Actor.FromProducer(() => new BrokerMasterActor());

            Remote.RegisterKnownKind(nameof(BrokerMasterActor), props);
            Serialization.RegisterFileDescriptor(BrokerReflection.Descriptor);

            Remote.Start("127.0.0.1", PortUtils.FindAvailablePort());
            //Cluster.Start("MyCluster", clusterProvider);

            //PID brokerMasterPid = Cluster.GetAsync("Master", nameof(BrokerMasterActor)).Result;
            //Cluster.GetAsync("Master2", nameof(BrokerMasterActor)).Wait();
            //Cluster.GetAsync("Master" + Guid.NewGuid(), nameof(BrokerMasterActor)).Wait();

            //props = Actor.FromProducer(() => new BrokerActor(brokerMasterPid));
            //_brokerPid = Actor.SpawnNamed(props, "Broker");
        }
Exemple #27
0
        public OrleansStartup(string clusterName)
        {
            ILoggerFactory       loggerFactory = new NullLoggerFactory();
            ISerializer <byte[]> serializer    = new MessagePackSerializer();

            PublishSubscribe = new PublishSubscribeBuilder(new WireSerializer())
                               .SetLoggerFactory(loggerFactory)
                               .SetSerializer(serializer)
                               .ProtoActorPublishSubscribe()
                               .Build();

            // Start ProtoActor Cluster
            int serverPort = PortUtils.FindAvailablePortIncrementally(41000);

            Cluster.Start("unique", "127.0.0.1", serverPort,
                          new SeededLocalClusterProvider(Observable.Return(new[] { new IPEndPoint(IPAddress.Loopback, 41000) })));
        }
        public OwinSelfHost([NotNull] IWireMockMiddlewareOptions options, [NotNull] params string[] uriPrefixes)
        {
            Check.NotNull(options, nameof(options));
            Check.NotNullOrEmpty(uriPrefixes, nameof(uriPrefixes));

            _logger = options.Logger ?? new WireMockConsoleLogger();

            foreach (string uriPrefix in uriPrefixes)
            {
                Urls.Add(uriPrefix);

                PortUtils.TryExtract(uriPrefix, out string protocol, out string host, out int port);
                Ports.Add(port);
            }

            _options = options;
        }
Exemple #29
0
        /// <summary>
        /// Starts the
        /// </summary>
        public bool Start(bool waitOnStartup = true, TimeSpan?timeout = null)
        {
            bool res = false;

            if (_starter == null)
            {
                int?port;
                if (AutoPort)
                {
                    do
                    {
                        port = 35000 + _rnd.Next(10, 60);
                    } while (!PortUtils.TestPort(port.Value));
                    Configuration.Parameters.ServerPort = string.Format("localhost:{0}", port.Value);
                    Configuration.SaveConfigFile();
                }
                else
                {
                    port = PortUtils.GetPort(_config.Parameters.ServerPort);
                    if (!port.HasValue)
                    {
                        throw new ArgumentException("No valid port given.");
                    }
                }

                _config.Locked = true;

                string param = "";
                if (Environment.OSVersion.Platform == PlatformID.Unix || Environment.OSVersion.Platform == PlatformID.MacOSX)
                {
                    _starter = new UnixVirtuosoStarter(port.Value, _binary.Directory, _configFile.Directory);
                    param    = string.Format("-f -c \"{0}\"", _configFile.FullName);
                }
                else
                {
                    _starter = new Win32VirtuosoStarter(port.Value, _binary.Directory, _configFile.Directory);
                    param    = string.Format("-f -c \"{0}\"", _configFile.FullName);
                }

                _starter.Executable = _binary.FullName;
                _starter.Parameter  = param;
                res = _starter.Start(waitOnStartup, timeout);
            }
            return(res);
        }
 protected override void ProcessRecord()
 {
     foreach (var port in Port)
     {
         try
         {
             WriteObject(new PsPortAvailability
             {
                 Port      = port,
                 Available = PortUtils.CheckAvailable(port)
             });
         }
         catch (Exception ex)
         {
             WriteError(new ErrorRecord(ex, null, ErrorCategory.InvalidOperation, port));
         }
     }
 }