solodevci
Messages postés2Date d'inscriptiondimanche 11 septembre 2005StatutMembreDernière intervention12 novembre 2005
-
10 nov. 2005 à 17:56
solodevci
Messages postés2Date d'inscriptiondimanche 11 septembre 2005StatutMembreDernière intervention12 novembre 2005
-
12 nov. 2005 à 20:17
Salut
ça fait vraiment longtemps que j'ai utiliser VB mais mon problème est que je suis entrain de realiser un programme utilisant Winsock. Mon serveur demande le mot de passe au client et le client répont par le mot passe, l'orsque le serveur envoie "psw" pour demander le mot de passe, à la réception sur client je reçois d'autres chaines precedement transmis du genre "Bienvenue sur serveur psw" ainsi donc je souhaiterai utiliser une fonction de manipulation de chaine qui nous permettrai de recuperer le psw de la reception. Merci.
Voici le code
rem code du client
Private Sub W_DataArrival(ByVal bytesTotal As Long)
Dim rx As String
Dim rxp As String
rxp = Mid$(rx, InStr(1, rx, "psw", vbTextCompare), Len(rx)) ' voici le BUG W.GetData rx 'on met ce que l'on reçoit dans la varible Rx.text
txtChat.Text = txtChat.Text & vbCrLf & rx 'bon ça tout le monde comprend :) msg "Reception " & rx
MsgBox msg
If rxp = "psw" Then ' on vérifie si on nous demande le mot de passe
Beep
MsgBox "Envoie du mot de passe"
W.SendData login.psw.Text ' on répond par le mot de passe taper dans le login
End If
rx = ""
End Sub
rem code du serveur
If Mid$(Recus, 1, 6) = "User :" Then ' on vérifie si on reçu user:
client.Text = Mid$(Recus, 7, Len(Recus)) 'alors on identifie l'utilisateur
txtChat.Text = txtChat.Text & vbCrLf & "Un Utilisateur est connecté au serveur"
'on envoie un echo à l'utilisateur pour sa connexion au serveur
txtEnvoi.Text = "Utilisateur " & Mid$(Recus, 7, Len(Recus)) & "Connecté au serveur " & "depuis " & Time$
W.SendData txtEnvoi.Text
txtEnvoi.Text = ""
msg = "psw" ' voici le bug
txtEnvoi.Text = msg 'on définit la chaine qui demande le mot de passe du client
W.SendData txtEnvoi.Text 'on demande à l'utilisateur son mot de passe
cs_CanisLupus
Messages postés3757Date d'inscriptionmardi 23 septembre 2003StatutMembreDernière intervention13 mars 200620 10 nov. 2005 à 18:23
Salut, pour la partie client, c'est normal que ça plante, d'après ce que tu dis, le instr te renvoie une valeur > 1 donc tu ne peux donner comme longueur de chaine à extraire la longueur totale de la chaine d'origine. Essaie ça :