dOsSpr0uTosS
Messages postés90Date d'inscriptiondimanche 22 mai 2005StatutMembreDernière intervention 1 janvier 2006
-
24 sept. 2005 à 14:00
dOsSpr0uTosS
Messages postés90Date d'inscriptiondimanche 22 mai 2005StatutMembreDernière intervention 1 janvier 2006
-
25 sept. 2005 à 12:43
salut à tous,
j'suis entrain d'fair un logiciel de discution grace a des control winsock
et j'ai un problème:
dans l'interface y'a un endroit pour mettre son ip(pour qu'un que control winsock s'y connecte)ca s'appelle text1
donc après dans le code j'met:
Private Sub Command1_Click()
Wck.Connect Text1.Text, 12666
End Subaprès j'test et la il me dis que y'a un problèm a ce
niveau la alors qu'avance de cliquer sur le bouton j'ai bien rempli le
text1.text avec des guillements
donc si vous connaissez la soluc'...
merci d'avance
sinon le code entier donne ca(il est pas du tout long^^):
Private Sub Form_Load()
Winsock.LocalPort = 12666
Winsock.Listen
End Sub
Private Sub Command1_Click()
Wck.Connect "Text1.Text", 12666
End Sub
Private Sub Winsock_ConnectionRequest(ByVal requestID As Long)
Winsock.Close
Winsock.Accept requestID
End Sub
Private Sub Wck_Connect()
MsgBox "Trouvé"
End Sub
Private Sub Command2_Click()
Wck.SendData InputBox(" votre texte :")
End Sub
Private Sub Winsock_DataArrival(ByVal bytesTotal As Long)
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 24 sept. 2005 à 18:31
3 boutons (par défaut)
1 txtbox (défaut)
un seul socket (nommé WSK)
Dim Role As String
Private Sub Form_Load()
'mise en page
Command1.Caption = "être client"
Command2.Caption = "être serveur"
Text1.Text = "127.0.0.1"
Command3.Caption = "communiquer"
Command3.Enabled = False
End Sub
'
'
Private Sub Command1_Click() 'CLIENT
'mise en page
Command1.Enabled = False
Command2.Enabled = False
Command3.Enabled = True
Role = "Client"
WSK.Close
WSK.Connect Text1.Text, 12666
End Sub
'
'
Private Sub Command2_Click() 'SERVEUR
'mise en page
Command1.Enabled = False
Command2.Enabled = False
Command3.Enabled = True
Role = "Serveur"
WSK.Close
WSK.LocalPort = 12666
WSK.Listen
End Sub
'
'
Private Sub Command3_Click() 'INPUTBOX
If WSK.State = 7 Then
WSK.SendData InputBox(" votre texte :")
Else
MsgBox "Vous n'êtes pas connecté!", vbCritical
End If
End Sub
'
'
'
'
Private Sub WSK_Connect()
MsgBox "Connection établie"
End Sub
'
'
Private Sub WSK_ConnectionRequest(ByVal requestID As Long)
WSK.Close
WSK.Accept requestID
End Sub
'
'
Private Sub WSK_DataArrival(ByVal bytesTotal As Long)
Dim Data As String
WSK.GetData Data
MsgBox "- Message reçu par le " & Role & " -" & vbCrLf & Data
End Sub
'
'
Private Sub WSK_Close()
MsgBox "fermeture de l'hôte distant", 32
WSK.Close
End Sub
'
'
Private Sub WSK_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 "Err n°" & Number & " : " & Description, vbCritical
WSK.Close
End Sub
dOsSpr0uTosS
Messages postés90Date d'inscriptiondimanche 22 mai 2005StatutMembreDernière intervention 1 janvier 2006 24 sept. 2005 à 14:15
bah quand je le test en local(c'est a dire que mes deux control winsock comminuque entre eux sur le meme ordi)et que dans le code je met 127.0.0.1 ou j'sais pas quoi et bah ca marche parfaitement mais comme je veux l'utiliser avec un pote sur internet son ip ca sera pas ca et vus que son ip est dynamique il faudrait refair un prog a chaque fois ou bien qu'il prenne le text du textbox mais il ne le fais pas apparament
Vous n’avez pas trouvé la réponse que vous recherchez ?
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 24 sept. 2005 à 15:39
ok, je la refais :
tu ne peux pas établir une connection sur le port 12666 avec WCK alors que WINSOCK est déjà en écoute dessus.
regarde bien la source
PCPT
Messages postés13272Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 201847 24 sept. 2005 à 17:26
re,
ajoute 4 boutons
tu dis écouter et recevoir en local sur le port 12666
donc logiquement, le port distant = le port local de l'autre...
copie ce code pour test 4 nouveaux boutons, puis click-les après être connecté en 127.0.0.1
Private Sub Command3_Click()
MsgBox Winsock.LocalPort
End Sub
'
Private Sub Command4_Click()
MsgBox Winsock.RemotePort
End Sub
'
Private Sub Command5_Click()
MsgBox Wck.LocalPort
End Sub
'
Private Sub Command6_Click()
MsgBox Wck.RemotePort
End Sub
dOsSpr0uTosS
Messages postés90Date d'inscriptiondimanche 22 mai 2005StatutMembreDernière intervention 1 janvier 2006 24 sept. 2005 à 17:57
elle revoient pas toute 12666 enfazites y'en a deux qui renvoient 12666
et deux qui renvoient 1164 donc tu as raison mais j'ai pas trop compris
quelle est mon erreur enfaites
explique moi bien clairement si tu peux corriger un peu mon code pour
que ca march(je viens de commencer a me servir de winsock...)
dOsSpr0uTosS
Messages postés90Date d'inscriptiondimanche 22 mai 2005StatutMembreDernière intervention 1 janvier 2006 24 sept. 2005 à 21:22
erf j'ai un dernier problème:
quand j'lance le prog sur un autre ordi il me dit qu'il manque un
fichier et que winsock.j'sais ps quoi y est pas donc j'crois qu'il faut
que j'ai besoin d'une dll winsock ou j'sais pas quoi pour l'autre ordis
nan?si oui ou trouver le fichier qu'il me faut?
dOsSpr0uTosS
Messages postés90Date d'inscriptiondimanche 22 mai 2005StatutMembreDernière intervention 1 janvier 2006 25 sept. 2005 à 12:43
c'est pas ca t'as resolu l'problèm mais plutot que de recréé un topic je continu sur celui-la et vus que les gens ne vont pas sur les topic ou la reponse a ete accepté et bien je devalide vois pas ou est le problèm apart si tu veux avoir ta reponse validée a tout prix...