cs_Papymuzo
Messages postés169Date d'inscriptionjeudi 24 juillet 2003StatutMembreDernière intervention17 août 2010
-
17 janv. 2006 à 18:43
cs_Papymuzo
Messages postés169Date d'inscriptionjeudi 24 juillet 2003StatutMembreDernière intervention17 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
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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)
cs_Papymuzo
Messages postés169Date d'inscriptionjeudi 24 juillet 2003StatutMembreDernière intervention17 août 20101 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
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
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
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 ^^)