Intendi dire tramite una password ?
Se è così, potresti farlo dopo che è avvenuta la connessione.
Quindi, la password, sarebbe il primo dato che il client invia al server.
Continuando con l'esempio precedente...
Lato server :
Lato client :codice:Private Sub Form_Load() Timer1.Interval = 500 Winsock1.LocalPort = "100" Winsock1.Listen End Sub Private Sub Timer1_Timer() LblWinsock.Caption = StatoWinsock(Winsock1.State) End Sub Private Function StatoWinsock(ValoreNumerico As Integer) As String Select Case ValoreNumerico Case Is = 0 StatoWinsock = "Chiuso" Case Is = 1 StatoWinsock = "Aperto" Case Is = 2 StatoWinsock = "In attesa" Case Is = 3 StatoWinsock = "Connessione in sospeso" Case Is = 4 StatoWinsock = "Risoluzione dell'host in corso" Case Is = 5 StatoWinsock = "Host risolto" Case Is = 6 StatoWinsock = "Connessione in corso" Case Is = 7 StatoWinsock = "Connesso" Case Is = 8 StatoWinsock = "Il client sta chiudendo la connessione" Case Is = 9 StatoWinsock = "Errore" End Select End Function 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) Const Password As String = "abcd" Static Autenticato As Boolean Dim Dati As String Winsock1.GetData Dati, vbString If Autenticato = False Then If Dati = Password Then Autenticato = True Else Winsock1.Close End If End If End Sub
codice:Private Sub Command1_Click() Winsock1.Connect "127.0.0.1", "100" End Sub Private Sub Form_Load() Timer1.Interval = 500 Command1.Caption = "Connetti" End Sub Private Sub Timer1_Timer() LblWinsock.Caption = StatoWinsock(Winsock1.State) End Sub Private Function StatoWinsock(ValoreNumerico As Integer) As String Select Case ValoreNumerico Case Is = 0 StatoWinsock = "Chiuso" Case Is = 1 StatoWinsock = "Aperto" Case Is = 2 StatoWinsock = "In attesa" Case Is = 3 StatoWinsock = "Connessione in sospeso" Case Is = 4 StatoWinsock = "Risoluzione dell'host in corso" Case Is = 5 StatoWinsock = "Host risolto" Case Is = 6 StatoWinsock = "Connessione in corso" Case Is = 7 StatoWinsock = "Connesso" Case Is = 8 StatoWinsock = "Il client sta chiudendo la connessione" Case Is = 9 StatoWinsock = "Errore" End Select End Function Private Sub Winsock1_Connect() Const Password As String = "abcd" Winsock1.SendData Password End Sub

Rispondi quotando