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
|