Client Server Winsock

Résolu
cs_schecky Messages postés 21 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 15 mars 2009 - 13 févr. 2007 à 19:21
cs_schecky Messages postés 21 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 15 mars 2009 - 20 févr. 2007 à 20:21
Bonjour a tous

voila en fait je suis en train de coder un programme Client/Server plutot  fun a l'aide de winsock  seulement apres avoir codé une premiere version avec juste comme option OpenCD et CloseCD (je sais vous allez me dire "qu'est ce que c'est que ces fonctions de Lamer) mais c'est juste pour tester si sa marche bien et la en fait sa ne marche pas !!! donc voila si quelq'un  voudrais bien me dire se qui ne va pas sachant que je suis débutant en programmation reseaux je suis preneur. Bonne soirée a tous.

voila la source du client

Private Sub Command1_Click()

Winsock1.RemoteHost = Text1.Text
Winsock1.Connect

End Sub

Private Sub Command2_Click()

Dim donnees As String
donnees = "01"
Winsock1.SendData donnees

End Sub

Private Sub Command3_Click()

Dim donnees As String
donnees = "02"
Winsock1.SendData donnees

End Sub

Private Sub Form_Load()

End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

Dim Arrive As String
Winsock1.GetData Arrive

End Sub

ET maintenant voici la source du server

Private Declare Function mciSendString Lib"winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)

Winsock1.Close
Winsock1.Accept requestID

End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)

Dim donees As String
Winsock1.GetData donnees

If donnees = "01" Then Call OuvrirCD
If donnees = "02" Then Call FermerCD

End Sub

 'Lecteur Cd
 
 'Pour ouvrir le lecteur
 Sub OuvrirCD()
 ret = mciSendString("Set cdaudio door open wait", vbNullChar, 0, 0)
 End Sub

 'Pour Fermer le lecteur
 Sub FermerCD()
 ret = mciSendString("Set cdaudio door closed wait", vbNullChar, 0, 0)
 End Sub
 

5 réponses

cs_schecky Messages postés 21 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 15 mars 2009
13 févr. 2007 à 20:59
Tout d'abord merci de ta réponse mais je ne suis pas sur de l'avoir bien comprise car "donnees"
est déclaré en tant que chaines de carctères et puis elle est bien
utilisées car elle sert a stocker Winsock1.Getdata. Peut etre ai je mal
compris ta réponse.

 
3
cs_schecky Messages postés 21 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 15 mars 2009
13 févr. 2007 à 19:42
Au fait j'ai oublier d'écrir ca dans la source du server

Private Sub Form_Load()
Winsock1.Listen
End Sub

Voici plus de précisions en fait tout marche bien au debut: j'arrive a me connecter au server depuis le client mais c'est apres que ce se gatte car lorsque je clik sur l'un des deux boutons sensés ouvrir ou fermer le lecteur CD j'obtient

 Erreur d'éxécution '13':

Type incompatible
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
13 févr. 2007 à 20:41
Peut-etre le problème vient-il de là ???

Dim donees As String
Winsock1.GetData donnees

donees est une chaine de caractère mais n'est pas utilisée

donnees n'est pas déclarée et est donc considérée comme un variant.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #
0
aieeeuuuuu Messages postés 698 Date d'inscription jeudi 16 janvier 2003 Statut Membre Dernière intervention 20 mai 2011 3
16 févr. 2007 à 11:01
salut

Casy mettait le doigt sur la facon dont tu as ecrit "donnees"
un fois avec un "N", une fois avec 2 "N"

ce ne sont donc pas les memes variables !

pour eviter ce genre d'erreur à l'avenir, ajoute au debut de tes modules la ligne :
Option Explicit

ca t'indiquera les variables qui ne sont pas declarées.

tu peux aussi utiliser la completion :
lorsque tu veux ecrire une variable que tu as deja declarée, tape le debut du mot, puis CTRL+Espace.
ca va te proposer une liste de variable/objets/Constantes... qui commencent par les meme lettres que celles que tu as tapées. Comme ca tu es sur de bien ecrire la variable, sans faute de frappe.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_schecky Messages postés 21 Date d'inscription lundi 5 décembre 2005 Statut Membre Dernière intervention 15 mars 2009
20 févr. 2007 à 20:21
OK merci "aieeeuuu" pour toutes ces explications !!
0
Rejoignez-nous