Avatar billede telep Nybegynder
04. oktober 2005 - 14:31 Der er 10 kommentarer og
2 løsninger

Er porten i brug

Hejsa,

Jeg skal bruge en lille funktion der kan finde ud af om et givet portnummer er i brug.

fx. bool prtInUse = erPortenIbrug(8029) //hvor 8029 er det portnummer jeg vil teste om et i brug.

På forhånd tak!

Mvh
telep
Avatar billede arne_v Ekspert
04. oktober 2005 - 14:46 #1
det tror jeg er svært

kan du ikke bare åbne en socket på porten (TcpListener er nk det nemmeste)
og så catche exception
Avatar billede spif2001 Nybegynder
04. oktober 2005 - 14:57 #2
Hvad med:

using System.Net.Sockets;

private bool IsPortInUse(int portNumber)
{
    TcpClient TcpScan = new TcpClient();
    try
    {
        //"192.168.0.1" er en lokal netværks IP
        TcpScan.Connect("192.168.0.1", portNumber);
        return false;
    }
    catch
    {
        return true;
    }
}
Avatar billede spif2001 Nybegynder
04. oktober 2005 - 15:11 #3
Hov - fik vidst byttet rundt på true / false, så:

using System.Net.Sockets;

private bool IsPortInUse(int portNumber)
{
    TcpClient TcpScan = new TcpClient();
    try
    {
        //"192.168.0.1" er en lokal netværks IP
        TcpScan.Connect("192.168.0.1", portNumber);
        return true;
    }
    catch
    {
        return false;
    }
}
Avatar billede spif2001 Nybegynder
04. oktober 2005 - 15:14 #4
Du kan selvfølgelig også bruge "localhost" i stedet for en IP adresse, hvis det bare er på den lokale maskine du checker....
Avatar billede telep Nybegynder
04. oktober 2005 - 15:19 #5
jeg bruger ikke Tcp men Udp - hvorfor jeg ikke kan TcpScan!

Jeg skal bruge en funktion der kan returnere true eller false i forhold til om porten er optaget eller ej...

Jeg kan sagtens lave en try-catch løsning - men var nu ude efter noget smartere
Avatar billede spif2001 Nybegynder
04. oktober 2005 - 15:21 #6
tror ikke du kommer uden om try/catch, men det kan da være... - jeg kender ikke en metode til det - sorry
Avatar billede telep Nybegynder
04. oktober 2005 - 15:37 #7
helt ok
Avatar billede arne_v Ekspert
04. oktober 2005 - 21:56 #8
jeg tror som sagt ikke at det er nemt at lave en netstat i .NET (og det er vel faktisk
det du spørger om)

jeg vil tro at man generelt bruger try catch
Avatar billede telep Nybegynder
24. oktober 2005 - 22:20 #9
Alle der ønsker point svarer

Jeg tager selv lidt - da problemet ikke blev løst...
Avatar billede arne_v Ekspert
24. oktober 2005 - 22:22 #10
.
Avatar billede arne_v Ekspert
24. oktober 2005 - 23:39 #11
spif>

du kan hente halvdelen her http://exp.dk/spm/658805
Avatar billede telep Nybegynder
25. oktober 2005 - 09:18 #12
beklager hvis jeg var lidt for hurtigt...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester