Avatar billede jpi Mester
09. august 2007 - 12:41 Der er 4 kommentarer og
1 løsning

Findes computer

For at tjekke om en fil findes bruges File.exists() og for at tjekke for en mappe bruges Directory.exists().

Hvad skal man bruge for at se om en computer på netværker findes ?

Jeg har kun computernavnet at tjekke op imod "\\computernavn", dvs, ingen shares jeg kan sætte bagpå. Ellers ville jeg kunne bruge directory.
Avatar billede jens_klinting Nybegynder
10. august 2007 - 20:13 #1
Hej,
Jeg tror du kan pinge computeren. Jeg har ændret lidt på en stump kode fra MSDN (og oversat fra C#):

Public Function PingComputer(ByVal computer As String) As Boolean

  Dim pingSender As New System.Net.NetworkInformation.Ping()
  Dim options As New System.Net.NetworkInformation.PingOptions()

  options.DontFragment = True

  ' Create a buffer of 32 bytes of data to be transmitted.
  Dim data As String = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
  Dim buffer() As Byte = System.Text.Encoding.ASCII.GetBytes(data)
  Dim timeout As Integer = 120

  Dim reply As System.Net.NetworkInformation.PingReply = pingSender.Send(computer, timeout, buffer, options)

  If (reply.Status = System.Net.NetworkInformation.IPStatus.Success) Then
    Return True
  Else
    Return False
  End If

End Function

Håber det løser dit problem.

Mvh.
Jens
Avatar billede jpi Mester
16. august 2007 - 13:59 #2
Det virker fint hvis en computer ikke er online, men hvis man pinger en computer der ikke har været online længe eller ikke er med i domænet, kommer der en "Ping exception"...

Skal man bare lave en try catch eller er der en pænere måde at gøre det på ?
Avatar billede jens_klinting Nybegynder
16. august 2007 - 19:00 #3
Jeg har ikke kigget så meget på de forskellige options man kan sætte op. Måske er der mulighed for at specificere i PingOptions, hvad der skal ske ved det scenarie du beskriver.

Ellers er det da en mulighed at fange den exception, der kommer.

Mvh.
Jens
Avatar billede jpi Mester
18. august 2007 - 00:14 #4
Jeg fik kigget på dokumentationen til funktionen, men kunne ikke bliver klogere.
Der kommer en exception med en inner exception, hvor fejlen er noget med "Not known host" eller noget i den retning.

Har lavet en try catch og så virker det efter hensigten. Ikke den pæneste løsning, men som sagt virker det godt nok.

Smid et svar.

Tak for hjælpen
Avatar billede jens_klinting Nybegynder
19. august 2007 - 15:50 #5
:o)
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
Kurser inden for grundlæggende programmering

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