public void when_ip_is_valid() { Assert.Equal("0.0.0.12", IPConverter.ToIPv4("12").ToString()); Assert.Equal("1.0.0.2", IPConverter.ToIPv4("1.2").ToString()); Assert.Equal("1.2.3.4", IPConverter.ToIPv4("1.2.3.4").ToString()); Assert.Null(IPConverter.ToIPv4("ABCD:EF01:2345:6789:ABCD:EF01:2345:6789")); }
public void when_ip_is_valid() { Assert.Equal("0.0.0.12", IPConverter.ToIPAddress("12").ToString()); Assert.Equal("1.0.0.2", IPConverter.ToIPAddress("1.2").ToString()); Assert.Equal("1.2.3.4", IPConverter.ToIPAddress("1.2.3.4").ToString()); Assert.Equal("abcd:ef01:2345:6789:abcd:ef01:2345:6789", IPConverter.ToIPAddress("ABCD:EF01:2345:6789:ABCD:EF01:2345:6789").ToString()); }
/// <summary> /// Проверка IP-адресов проекта. /// </summary> /// <returns>Ошибки</returns> private string CheckProjectIPAddresses() { string errors = ""; string startIPstr, endIPstr; string startIpProperty = "EPLAN.Project.UserSupplementaryField1"; string endIpProperty = "EPLAN.Project.UserSupplementaryField2"; try { startIPstr = ApiHelper.GetProjectProperty(startIpProperty); endIPstr = ApiHelper.GetProjectProperty(endIpProperty); startIPstr = Regex .Match(startIPstr, CommonConst.IPAddressPattern).Value; endIPstr = Regex .Match(endIPstr, CommonConst.IPAddressPattern).Value; if (startIPstr == "" || endIPstr == "") { string errMsg = $"Некорректно задан диапазон " + $"IP-адресов проекта.\n"; throw new Exception(errMsg); } } catch (Exception e) { ProjectConfiguration.GetInstance().ResetIPAddressesInterval(); if (e.Message.Contains(startIpProperty) || e.Message.Contains(endIpProperty)) { errors += "Не задан диапазон IP-адресов проекта.\n"; } else { errors += e.Message; } return(errors); } long startIP = IPConverter.ConvertIPStrToLong(startIPstr); long endIP = IPConverter.ConvertIPStrToLong(endIPstr); if (endIP - startIP <= 0) { ProjectConfiguration.GetInstance().ResetIPAddressesInterval(); errors += "Некорректно задан диапазон IP-адресов проекта.\n"; return(errors); } ProjectConfiguration.GetInstance().StartingIPInterval = startIP; ProjectConfiguration.GetInstance().EndingIPInterval = endIP; return(errors); }
public void when_ip_is_valid() { var ipLocator = IPLocator.Default; var ipv4 = IPConverter.ToIPv4("113.208.112.114").Value; var location = ipLocator.Find(ipv4); Assert.Equal("中国", location.Country); Assert.Equal("北京", location.State); Assert.Equal("北京", location.City); Assert.Equal("113.208.112.114", location.IP.ToString()); }
/// <summary> /// 获取当前请求的IP /// </summary> public IPAddress GetClientIP(HttpRequestBase httpRequest) { if (httpRequest == null) { return(null); } var ip = GetIpFromServerVariables(httpRequest.ServerVariables); if (string.IsNullOrWhiteSpace(ip)) { ip = httpRequest.UserHostAddress; } return(IPConverter.ToIPAddress(ip)); }
public void when_ip_is_invalid_should_return_null(string ip) { Assert.Null(IPConverter.ToIPAddress(ip)); }
public static void ExportToIP(string path, TeacherVM teacher) { IPConverter.Convert(Context.EntitiesVmRegistry, path, teacher); }
/// <summary> /// Returns true when succesful, false otherwise /// </summary> /// <param name="gametime"></param> /// <returns></returns> private async Task <LoginResult> Login(IGameTimeService gametime, int maxNumTries = 5) { int numTries = 0; _loggingIn = true; #if DEVELOPMENT if (Debugging.Autologin) { await Task.Delay(8000); Username = Debugging.AutoLoginName; Password = Debugging.AutoLoginPassword; ReadyToLogin = true; Console.WriteLine("Autologin attempt as " + Debugging.AutoLoginName); } else { Console.Write("ENTER USERNAME: "******"ENTER PASSWORD: "******"Logging in..."; string response = await _clientManager.ConnectToURI(_buildLoginRequest(_loginConfig.LoginIP, _loginConfig.LoginPort, Username, Password)); if (response == null) { //Something went wrong...figure out how to deal with this later, if necessary LoginDisplayMessage = "Something went wrong..."; _isLoggedIn = false; _loggingIn = false; return(LoginResult.UnknownFailure); } else if (response == "timeout") { //Response timed out, try again numTries++; } else { LoginResponse lr = JsonConvert.DeserializeObject <LoginResponse>(response); EncryptionKey = lr.Key; EncryptionIV = lr.IV; Console.WriteLine("Login Response, " + lr.Result); if (lr.Result == LoginResult.Success) { string IPAddress = IPConverter.Convert(lr.ServerIP); bool connected = false; await Task.Run(() => { //_clientManager.ConnectToMasterServer(_loginConfig.MasterServerIP, _loginConfig.MasterServerPort); connected = _clientManager.ConnectToSlaveServer(IPAddress, lr.ServerPort, lr.HailMessage, Username, Password, 2000); }); if (!connected) { _loggingIn = false; ReadyToLogin = false; LoginDisplayMessage = "Could not connect to server."; Console.WriteLine("Could not connect to slave. Connection refused? Ensure that networking is being updated."); } _loggingIn = false; _isLoggedIn = true; ReadyToLogin = false; return(LoginResult.Success); } else { if (lr.Result == LoginResult.InvalidUsernameOrPassword) { LoginDisplayMessage = "Invalid username or password."; } else if (lr.Result == LoginResult.AlreadyLoggedOn) { LoginDisplayMessage = "User is already logged on!"; } else if (lr.Result == LoginResult.AlreadyPending) { //Ideally the user won't ever see this case... LoginDisplayMessage = "User is already attempting to log on!"; } _loggingIn = false; ReadyToLogin = false; return(lr.Result); } } } //All requests timed out, reset state _loggingIn = false; ReadyToLogin = false; LoginDisplayMessage = "Request timeout. Check your internet connection."; return(LoginResult.MaxTimeoutsExceeded); }