Nie mogę znaleźć niczego, co podpowie mi, czy port w routerze jest otwarty, czy nie. Czy to możliwe?Sprawdź, czy port jest otwarty.
kod mam teraz tak naprawdę nie wydają się działać ...
private void ScanPort()
{
string hostname = "localhost";
int portno = 9081;
IPAddress ipa = (IPAddress) Dns.GetHostAddresses(hostname)[0];
try
{
System.Net.Sockets.Socket sock =
new System.Net.Sockets.Socket(System.Net.Sockets.AddressFamily.InterNetwork,
System.Net.Sockets.SocketType.Stream,
System.Net.Sockets.ProtocolType.Tcp);
sock.Connect(ipa, portno);
if (sock.Connected == true) // Port is in use and connection is successful
MessageBox.Show("Port is Closed");
sock.Close();
}
catch (System.Net.Sockets.SocketException ex)
{
if (ex.ErrorCode == 10061) // Port is unused and could not establish connection
MessageBox.Show("Port is Open!");
else
MessageBox.Show(ex.Message);
}
}
Jak to się nie udaje? Czy wyniki nie są zgodne z oczekiwaniami, czy otrzymujesz wyjątek? – TheEvilPenguin
także, jeśli twój kod łączy się z portem, to znaczy, że port jest otwarty, nie jest zamknięty –
@TheEvilPenguin Chcę, aby powiedział, że mój port jest otwarty, ponieważ przekazałem go w moim routerze, ale nie udało się połączyć ... –