Ho delle difficoltà nel creare un' autenticazione al server con questo codice:
Il client invia in entrambi i casi:
codice:Private Sub Winsock1_Connect() Dim Password As String Password = Text5.Text Winsock1.SendData Password End Subcosa che invece mi riesce con questo altro codice:codice:Private Sub Winsock1_ConnectionRequest(Index As Integer, _ ByVal requestID As Long) Text2.Text = Text2.Text & "Accettata connessione con : " & _ Winsock1(Index).RemoteHostIP & vbCrLf ListView1.ListItems.Add , , Winsock1(Index).RemoteHostIP, 1, 3 NumSockets = NumSockets + 1 '//Increase Number of Sockets by one. Load Winsock1(NumSockets) '//Load a New Winsock Object Nusockets as Index Value Winsock1(NumSockets).Accept requestID List3.AddItem Winsock1(NumSockets).Index & ": " & Winsock1(Index).RemoteHostIP & " Ora:" & Time & " " & Date '//Accept the New Connection Label2.Caption = "Utenti in linea " & ListView1.ListItems.Count DoEvents Timer1.Enabled = True Timer1.Interval = 200 End Sub Private Sub Winsock1_DataArrival(Index As Integer, ByVal _ bytesTotal As Long) Dim vtData As String Dim n As Integer Winsock1(Index).GetData vtData, vbString Text2.Text = Text2.Text & vtData & vbCrLf On Error Resume Next For n = 1 To NumSockets Winsock1(n).SendData "inviolistapcconnessi" & vtData ListView1.ListItems(n).ListSubItems.Add , , vtData, 1, 1 Next End Sub
Come risolvo?codice:Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long) If Winsock1.State <> sckClosed Then Winsock1.Close Winsock1.Accept requestID End Sub Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim Password As String Password = Text3.Text Static Autenticato As Boolean Dim Dati As String Winsock1.GetData Dati, vbString DoEvents List2.AddItem List2.Text & "remoto> " & Dati '& vbCrLf ' Aggiunge il Testo If Autenticato = False Then If Dati = Password Then Autenticato = True List1.AddItem Winsock1.RemoteHostIP List2.AddItem "Welcome.." Winsock1.SendData "Welcome " & Winsock1.RemoteHostIP Else Winsock1.Close End If End If

Rispondi quotando