Как узнать какие порты открыты на моем девайсе, программным методом C#
Способы проверки портов попытками коннекта могут быть ненадежными или занимать слишком много времени, особенно при проверке нескольких портов. К тому же, приложения могут слушать только определенные ip-адреса, и не слушать при этом 127.0.0.1, что приведет к негативному результату при попытке подключения.
В C# есть стандартный способ получения списка активных TCP Listners:
System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties()
.GetActiveTcpListeners();
Работает достаточно быстро, результат можно отфильтровать по нужному порту / ip.
var isPortBusy = System.Net.NetworkInformation.IPGlobalProperties.GetIPGlobalProperties()
.GetActiveTcpListeners().Any(l => l.Port == 80);
Как вариант прозвонить в диапазоне от IPEndPoint.MinPort
до IPEndPoint.MaxPort
. По идее, это займет очень много времени...
Функция проверки открыт ли порт:
public bool CheckIfPortIsOpen(int port)
{
try
{
using (var tcpClient = new TcpClient())
{
tcpClient.Connect("127.0.0.1", port);
return true;
}
}
catch (SocketException)
{
return false;
}
}
Советую обернуть метод в таску, ибо он может быть продолжительным.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Пишу академическое десктоп приложение с базой данныхИз базы контент вывожу посредством DataGrid, которое находится в интерфейсе десктоп - клиенте
Не могу придти к общему пониманию механизмов подписи xml-документовБуду благодарен за помощь разобраться)
Доброго времени суток! Имеется POST запрос, в котором есть username=" + username + " password = " + password + "