Reseau en vb6 : les executables

cs_Papymuzo Messages postés 169 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 17 août 2010 - 17 janv. 2006 à 18:43
cs_Papymuzo Messages postés 169 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 17 août 2010 - 18 janv. 2006 à 17:25
salut.
je suis en train de développer un programme de t'chat par reseau (pour voir comment fonctionnent les Winsocks) mais j'ai une question : faut-il faire un projet client et un projet serveur ou bien on peut inclure les deux sur le meme prog et on choisit lorsqu'on le demarre d'etre serveur ou client ?
bonne prog
kAm

4 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
17 janv. 2006 à 19:34
Salut
En effet, tu peux intégrer les deux dans le même projet, suffit de ne pas se bréler les pinceaux !
As-tu vu cette excellentissime source ? clique ici

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
0
cs_Papymuzo Messages postés 169 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 17 août 2010 1
18 janv. 2006 à 14:33
merci. maintenant, j'ai un autre probleme (je vous deja dire "rahhhlalala quel noob lui alors !" ;o) : j'arrive pas a me connecter au pc en reseau..
voici mon code : (le "W" est un winsock (le meme nom dans la form FrmServeur et FrmClient) :





**************Client**************

Dim Connect As Boolean

Private Sub cmdConnecter_Click()

If txtIP.Text = "" Then
MsgBox "Veuillez entrer une ip", vbExclamation + vbOKOnly, "Attention"
Else
W.Close
W.Connect txtIP.Text 'On se connecte au serveur
Dim Envoi As String
Envoi = "Un client s'est connecté"
End If

End Sub

Private Sub CmdDeconnecter_Click()

If Connect = True Then
Dim Envoi As String
Envoi = "Le client s'est déconnecté"
W.SendData Envoi
W.Close
ElseIf Connect = False Then
MsgBox "Vous devez être connecté pour vous déconnecter", vbExclamation + vbOKOnly, "Attention"
End If

End Sub

Private Sub Envoie_Click()

txtChat.Text = txtChat.Text & vbCrLf & txtEnvoi.Text

Dim Envoi As String
Envoi = Pseudo.Text & " >>> " & txtEnvoi.Text
W.SendData Envoi
txtEnvoi.Text = ""

End Sub


Private Sub Form_Load()
W.LocalPort = 33 'port local
W.RemotePort = 22 'port distant

IPClient.Text = W.LocalIP
IPClient.Locked = True

txtChat.Locked = True

Connect = False

End Sub


Private Sub W_Connect()
Dim Envoi As String
Envoi = "Un client du nom de " & Pseudo.Text & " s'est connecté"
W.SendData Envoi

Connect = True

End Sub

Private Sub W_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 Error 'pour voir ce qui marche pas en cas d erreur
End Sub

Private Sub W_DataArrival(ByVal bytesTotal As Long)
Dim Recus As String
W.GetData Recus 'on met ce que l'on reçoit dans la varible Recus
If txtChat.Text = "" Then
txtChat.Text = txtChat.Text & Recus 'bon ça tout le monde comprend :)
Else
txtChat.Text = txtChat.Text & vbCrLf & Recus
End If
End Sub





**************Serveur**************

Private Sub Command2_Click()
Pseudo.Locked = True
End Sub

Private Sub Envoie_Click()

txtChat.Text = txtChat.Text & vbCrLf & txtEnvoi.Text

Dim Envoi As String
Envoi = Pseudo.Text & " >>> " & txtEnvoi.Text
W.SendData Envoi
txtEnvoi.Text = ""

txtChat.Text = txtChat.Text & txtEnvoi.Text

End Sub

'Form qui recevra le client
Private Sub Form_Load()
W.LocalPort = 22 'On défini le port local
W.RemotePort = 33 'le port distant ici differents parce que on fait sur le meme ordi .. mais a distance on met le meme port
W.Listen 'pour que le controle Winsock ecoute si on l appelle
frmeClient.Show

txtChat.Locked = True

IPServeur.Text = W.LocalIP
IPServeur.Locked = True

End Sub

Private Sub W_ConnectionRequest(ByVal requestID As Long)
W.Close 'ferme le port avant d'accepter chépa pkoi mais sinon ca foire
W.Accept requestID 'on accepte et on connect

W.SendData "Connecté au serveur" 'on envoie au client qu'il est connecte
End Sub

Private Sub W_DataArrival(ByVal bytesTotal As Long)
Dim Recus As String
W.GetData Recus 'on met ce que l'on reçoit dans la varible Recus

If txtChat.Text = "" Then
txtChat.Text = txtChat.Text & Recus 'bon ça tout le monde comprend :)
Else
txtChat.Text = txtChat.Text & vbCrLf & Recus
End If

End Sub

Private Sub W_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 Error 'Pour voir pourquoi ça marche pas ...
End Sub




***********************************

Le probleme : comment faire pour que mon ordi se connecte a l'autre ordi en reseau ? ou dois-je entrer l'adresse ip du pc auquel me connecter ? voici les lignes de code qu'il faudrait changer (je pense) :
PS : on dira que l'adresse ip du premier pc (serveur) est 192.150.0.1 (des chiffres au pif) et que l'adresse ip du sedond pc est 192.150.0.2 (au pif egalement ^^)

W.LocalPort = 22
W.RemotePort = 33


merci
kAm
0
cs_Papymuzo Messages postés 169 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 17 août 2010 1
18 janv. 2006 à 14:35
je c pas si c'est moi mais lorsque j'ecris un message, il prend pas les espaces :s du coup c'est illisible
0
cs_Papymuzo Messages postés 169 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 17 août 2010 1
18 janv. 2006 à 17:25
C bon sa marche enfin !!!
merci pr les infos quand mm ;) je suis bien content de voir enfin un programme marcher lol
bonne prog
kAm
0
Rejoignez-nous