/ Forside / Teknologi / Udvikling / VB/Basic / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
VB/Basic
#NavnPoint
berpox 2425
pete 1435
CADmageren 1251
gibson 1230
Phylock 887
gandalf 836
AntonV 790
strarup 750
Benjamin... 700
10  tom.kise 610
Winsock + VB6
Fra : Neo


Dato : 30-06-07 11:47

Hej alle

Jeg er ved at blive vanvittig over ikke at kunne finde løsningen til en
lille funktion jeg er ved at lave - håber meget på lidt hjælp her fra
gruppen.

Jeg ønsker at sende en datastreng til port 8000 på alle computere på et
lokalnetværk.
Jeg kender ikke IP adresser på de forskellige PC'ere, dog befinder alle
PC'ere sig i samme segment f.eks. 192.168.1.xxx
Jeg benytter winsock og VB6, og kan sagtens sende en pakke til en kendt IP
adresse port 8000.

min kode er lige nu som følger:

*********************************

Option Explicit

Private Sub cmdTestPort_Click()

winSck(0).Close
winSck(0).RemoteHost = txtRemoteIP
winSck(0).RemotePort = txtRemotePort
winSck(0).Connect

End Sub

Private Sub cmdTestRange_Click()

Dim i As Integer

For i = 1 To 255

txtLog = txtLog & "Probing 192.168.1." & CStr(i) & ":" &
txtRemotePort & vbCrLf

winSck(i).Close
winSck(i).RemoteHost = "192.168.1." & CStr(i)
winSck(i).RemotePort = txtRemotePort
winSck(i).Connect

Next i

timCloscSck.Enabled = True

End Sub

Private Sub Form_Load()

Dim i As Integer

For i = 1 To 255
Load winSck(i)
Next i

End Sub

Private Sub timCloscSck_Timer()

timCloscSck.Enabled = False

txtLog = txtLog & "Closing all ... " & vbCrLf

Dim i As Integer

For i = 1 To 255
winSck(i).Close
Next i

End Sub

Private Sub winSck_Connect(Index As Integer)

txtLog = txtLog & "Connected to 192.168.1." & Index & ":" &
txtRemotePort & vbCrLf
txtLog = txtLog & "Sending packet ... " & vbCrLf
winSck(Index).SendData ("test")

End Sub

Private Sub winSck_Error(Index As Integer, ByVal Number As Integer,
Description As String, ByVal Scode As Long, ByVal Source As String, ByVal
HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)

txtLog = txtLog & "Error " & Number & " - " & Description & vbCrLf

End Sub

Private Sub winSck_SendComplete(Index As Integer)

txtLog = txtLog & "SendComplete 192.168.1." & Index & ":" &
txtRemotePort & vbCrLf
winSck(Index).Close

End Sub

*********************************

Min lille "lytte" funktion reagerer fint når cmdTestPort_Click() aktiveres,
men så snart cmdTestRange_Click() aktiveres ser det ud som en stor timeout

Hvad gør jeg galt, og hvordan er det muligt at sende en datastreng til port
8000 på alle maskiner på et netværk med ukendte IP adresser ?

Mvh Neo



 
 
no@email.com (02-07-2007)
Kommentar
Fra : no@email.com


Dato : 02-07-07 12:36

Brug evt. en Ping.

Se: http://www.freevbcode.com/ShowCode.asp?ID=4945

Hilsen

k


no@email.com (02-07-2007)
Kommentar
Fra : no@email.com


Dato : 02-07-07 12:38
Neo (08-07-2007)
Kommentar
Fra : Neo


Dato : 08-07-07 18:54


<no@email.com> skrev i en meddelelse
news:8soh83dggqlc7mrirf24drtf7qi65bag5j@4ax.com...
> Brug Ping.......
>
> http://www.freevbcode.com/ShowCode.asp?ID=4945
>
> Hilsen
> K

Tak for svar !

Mvh Neo



Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste