Winsock multi-connect server/client i VB6
Det er lidt svært at formulere spørgsmålet når man ikke helt er sikker på hvad det er, men jeg forsøger her:Emnet er Winsock i VB6 – Multiple connections, og nogle underemner …
Jeg vil gerne, hvis det er muligt, få at vide hvordan winsock hænger sammen…
Hvad gør flg. Kommandoer ?
Winsock.RemoteHost
Winsock.RemoteHostIP
Winsock.RemotePort
Hvorfor kan jeg ikke bruge det kode andre har fået til at virke fra andre spørgsmål:
Fejler ved denne linie:
Load Winsock(Instances)
Jeg gør flg.
Ny exe >
Tilføjer winsock komponent >
Laver array (kalder dem Winsock), i alt 128 stk.
Laver et tekst-vindue (text1.text og er multiline … )
Og skriver flg. Kode
’********** starter her **********
Private Instances As Long
Private Sub Form_Load()
Text1.Text = Text1.Text & Time & " - server: " & Winsock(0).LocalHostName & " - " & Winsock(0).LocalIP & vbNewLine
Instances = 0
Winsock(0).LocalPort = 7777
Text1.Text = Text1.Text & Time & " - port: " & Winsock(0).LocalPort & vbNewLine
Winsock(0).Listen
End Sub
Private Sub WinSock_Close(Index As Integer)
Unload Winsock(Index)
End Sub
Private Sub WinSock_ConnectionRequest(Index As Integer, ByVal requestID As Long)
Text1.Text = Text1.Text & Time & " - Connecting : " & Index & " - " & requestID & vbNewLine
If Index = 0 Then
Instances = Instances + 1
Load Winsock(Instances)
Winsock(Instances).LocalPort = 0
Winsock(Instances).Accept requestID
End If
End Sub
Private Sub WinSock_DataArrival(Index As Integer, ByVal bytesTotal As Long)
Winsock(Index).GetData tekst, vbString
For x = 1 To Instances
If (Winsock(x).State = 7) And x <> Index Then
'Hvis afsenderen også selv skal modtage det sendte ser linjen således ud:
'If (WinSock(x).State = 7) Then
Winsock(x).SendData tekst
End If
Next
Text1.Text = Text1.Text & Time & " - Control no. " & Index & ": " & tekst & vbNewLine '(overvåg trafik)
End Sub
’********** slutter her **********
Hvad gør jeg galt, er det clienten der skal laves om ?
Håber at i kan hjælpe og evt. give lige kommentarer til winsock i det hele taget, da jeg ikke er helt sikker på at jeg har forstået hvad det egentlig går ud på.
Jeg er taknemlig for enhver form for hjælp, og hvis det er muligt, så gerne inden fredag (24/02)
På forhånd tak, Emil
