Salut tout le monde ,
je viens de réaliser ma premiére application client/serveur en VB en utilisant le composant winSocket.
A travers cette application le client ou le serveur peut echanger/recevoir des messages textes .
J'ai utilisé le protocole TCP.
Il parait que j'ai un probléme dans le code partie serveur:j'ai utilisé pour ce serveur 2 socket une pour l'écoute et une pour la transmission.
J'ai vraiment besoin d'un cuop de main.
je vous fournis le code de l'application serveur:
Private Sub checkState_Timer()
If (socket.State = 7) Then
go.Caption = "se deconnecter"
send.Enabled = True
Else
send.Enabled = False
If (socket.State = 0) Then ' sachant que socket.state<>7
go.Caption = "se connecter"
Else
go.Caption = "annuler"
'MsgBox ("socket.State:" & socket.State)
End If
End If
If (sckecoute.State = 2) Then
ecoute.Caption = "fin écoute"
Else
ecoute.Caption = "écoute"
End If
End Sub
Private Sub ecoute_Click()
If (ecoute.Caption = "écoute") Then
If (sckecoute.State = 2) Then Exit Sub 'si on est déja en écoute on quitte la produre
sckecoute.LocalPort = 1001
sckecoute.Listen
ecoute.Caption = "fin écoute"
Else
sckecoute.Close
ecoute.Caption = "écoute"
End If
End Sub
Private Sub Form_Load()
checkState_Timer
frmClient.Show
End Sub
Private Sub go_Click()
If (socket.State <> 7) Then
If (socket.State = 0) Then
socket.Close
socket.Connect "127.0.0.2", 97
Else
socket.Close
End If
Else
socket.Close
End If
checkState_Timer
End Sub
Private Sub sckecoute_ConnectionRequest(ByVal requestID As Long)
sckecoute.Close 'UN SOCKET DOIT ÊTRE FERMER AVANT D'ACCEPTER UNE connection
sckecoute.Accept requestID 'accepter une connection entrante
MsgBox (requestID)
End Sub
Private Sub socket_DataArrival(ByVal bytesTotal As Long)
Dim data As String
socket.GetData (data)
reception.Text = reception.Text & vbCrLf & "<" & socket.RemoteHostIP & ">" & vbCrLf & data & vbCrLf & vbCrLf
End Sub
Private Sub send_Click()
reception.Text = reception.Text & vbCrLf & " <you> " & vbCrLf & emission.Text & vbCrLf & vbCrLf
socket.SendData (emission.Text)
emission.Text = ""
End Sub
Private Sub socket_Close()
reception.Text = reception.Text & vbCrLf & " connection terminée! " & vbCrLf & socket.RemoteHostIP & vbCrLf & vbCrLf
End Sub
Private Sub socket_Connect()
reception.Text = reception.Text & "<system> connection etablie avec " & vbCrLf & socket.RemoteHostIP & "!" & vbCrLf & vbCrLf
End Sub
Private Sub socket_Error(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)
MsgBox ("Erreur de connection avec la socket !" & vbCrLf & Number & vbCrLf & Description & vbCrLf & Source & vbCrLf & "connection rejetée" & "SCode:" & Scode)
socket.Close
End Sub
Configuration: Windows XP
Internet Explorer 6.0