Aide sur winsock pour un débutant

Résolu
Netaholic Messages postés 4 Date d'inscription mercredi 17 décembre 2003 Statut Membre Dernière intervention 25 septembre 2004 - 24 sept. 2004 à 15:44
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 - 25 sept. 2004 à 12:10
Voilà j'ai commencé un chat sans serveur. Pour l'instant tout va bien. Le problème se pose pour afficher la liste des pseudos des personnes connectés dans une listbox (c'est peut être même pas une listbox qui faut utiliser mais j'en sais rien du tout) et aussi pour rechercher les connectés après nous. J'aimerai aussi ne pas avoir à mettre l'ip pour parler aux autres (en clair connection auto quand on parle.

Merci d'avance à tous

12 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
24 sept. 2004 à 16:13
Salut Netaholic
Je ne sais pas si c'est à toi que j'ai passé le lien du chat sans serveur (clique ici), mais il le fait tout seul ...
En ce qui concerne l'auto recherche des chaters, tu peux yu associer cette source qui est un controle qui utilise le broadcasting sur réseau privé et qui permet de retrouver l'IP de la machine qui est en écoute.
Mais accroche toi, c'est un peu complexe si tu débutes en VB

Si tu as besoin d'aide ponctuelle sur ces projet, n'hésite pas à venir causer sur le chat du site ([ :document.chatloginform.submit clique ici])

Vala
Jack
3
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
24 sept. 2004 à 21:36
Créer un form avec les contrôles suivant dessus : Winsock1, Timer1, List1, Text1, Command1, Command2, Command3.
Command1, 2 et 3 sont des boutons
Caption de Command1 : 'Connexion'
Caption de Command2 : 'Déconnexion'
Caption de Command3 : '>>'

Command1 permet de se connecté à la base
Command2 permet de se déconnecté à la base
Command3 Envoi le message

Script :
============================================

Public sIp, sPseudo, UName As String
Private Sub Command1_Click()
'Ouverture du fichier
Open "UserList.Lst" For Input As #1
UserList = Input(LOF(1), #1)
Close #1

'Récupération du Pseudo
UName = InputBox("Entrez votre pseudo")

'Récupération de l'ip
UiP = Winsock1.LocalIP

'Vérification si le pseudo n'est pas pris par un autre utilisateur
pTest = InStr(UserList, UName)
If pTest <> 0 Then
MsgBox "Pseudo déjà utilisé"
Exit Sub
End If

'Enregistrement de l'utilisateur
Open "UserList.lst" For Output As #1
Print #1, UserList & "{User}" & UName & "-ip-" & UiP & "{/User}"
Close #1

'Activation de la mise à jour de la liste
Timer1.Interval = 500 'Mise à jour toute les 500 Millisecondes
Timer1.Enabled = True 'Lancement du timer
Me.Caption "Vous êtes connecté"
End Sub
Private Sub Command2_Click()
'Ouverture du fichier liste
Open "UserList.Lst" For Input As #1
UserList = Input(LOF(1), #1)
Close #1

'Recherche dans la liste le Pseudo à supprimer
StrPseudo = "{User}" & UName & "-ip-" & Winsock1.LocalIP & "{/User}"
p1 = InStr(UserList, StrPseudo)
'Recréation de la liste
UserList = Mid(UserList, 1, p1) & Mid(UserList, p1 + Len(StrPseudo))
Open "UserList.Lst" For Output As #1
Print #1, UserList
Close #1
End Sub
Private Sub Form_Load()
On Error GoTo ErrFile
Open "UserList.Lst" For Input As #1
Close #1
Exit Sub

ErrFile:
Open "UserList.Lst" For Output As #1
Close #1
End Sub
Private Sub Timer1_Timer()
'Vidage de la liste
List1.Clear
'Ouverture du fichier liste
Open "UserList.Lst" For Input As #1
UserList = Input(LOF(1), #1)
Close #1

'Recherche des Pseudos
p1 = 0
p2 = Len(UserList)
Do Until p1 > p2
p1 = InStr(UserList, "{User}")
p1 = p1 + Len("{User}")
p3 = InStr(p1, UserList, "-ip-")
'Récupération du pseudo
Pseudo = Mid(UserList, p1, p3 - p1)
p1 = p3 + Len("-ip-")
p3 = InStr(p1, UserList, "{/User}")
'Récupération de l'ip
Ip = Mid(UserList, p1, p3 - p1)
'Ajout du Pseudo dans la liste
List1.AddItem Pseudo
p1 = p3 + Len("{/User}")
Loop
End Sub
Private Sub List1_Click()
'Ouverture du fichier liste
Open "UserList.Lst" For Input As #1
UserList = Input(LOF(1), #1)
Close #1

'Recherche des Pseudos
p1 = 0
p2 = Len(UserList)
Do Until p1 > p2
p1 = InStr(UserList, "{User}")
p1 = p1 + Len("{User}")
p3 = InStr(p1, UserList, "-ip-")
'Récupération du pseudo
sPseudo = Mid(UserList, p1, p3 - p1)
p1 = p3 + Len("-ip-")
p3 = InStr(p1, UserList, "{/User}")
'Récupération de l'ip
sIp = Mid(UserList, p1, p3 - p1)
'Ajout du Pseudo dans la liste
List1.AddItem Pseudo
p1 = p3 + Len("{/User}")
If Pseudo = List1.Text Then
Text1.Text = sPseudo & " > "
Exit Do
End If
Loop
End Sub
Private Sub Command3_Click()
'Envoi du message
'L'adresse ip est dans la variable : sIp
'Le Pseudo distant est dans la variable : sPseudo
End Sub

============================================

L'envoi du message est à programmer
3
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
24 sept. 2004 à 16:07
Peut-être Faire un fichier texte ou le nom des utilisateurs est séparer par des ';' ou autre caractères ou mots.
Pour mettre à jour ta liste utilise un Timer qui effacera ta ListBox et rechargera le fichier qui contient les noms.
Ce même fichier peut également contenir les IPs et quand tu clique sur l'utilisateur, le clic effectue une recherche dans ce fichier pour obtenir l'ip.

Chris
0
Netaholic Messages postés 4 Date d'inscription mercredi 17 décembre 2003 Statut Membre Dernière intervention 25 septembre 2004
24 sept. 2004 à 18:04
cboulas : c'est une solution mais le problème c'est que je ne sais pas comme le coder. c'est le truc qui me bloque.

jck : c'est grâce à cette source que j'ai commencé mon prog. par contre l'autre source devrait mettre utile, merci.
0

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

Posez votre question
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
24 sept. 2004 à 20:32
Je te fait ça

Chris
0
Netaholic Messages postés 4 Date d'inscription mercredi 17 décembre 2003 Statut Membre Dernière intervention 25 septembre 2004
24 sept. 2004 à 20:42
cboulas : surtout détaille bien stp
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
24 sept. 2004 à 21:37
Surtout si tu as des question n'hésite pas.

Chris
0
Fullnet Software Messages postés 90 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 27 août 2006 1
24 sept. 2004 à 22:39
tu pouris aller voir les sources de celiphane ye pros la dedant , lol en plus il a fait un tutorial genial

bonne prog!!

--------
Une tarte au pommes sans pommes n'est pas une tarte aux pommes.... mais une tarte à... RIEN!
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
24 sept. 2004 à 22:45
Désolé de te dire ça FullNet, mais quand on a une liste de question comme celle que tu as poser depuis que tu est ici, on se la boucle.

Genre : " comment faire une barre en haut (Fichier, édition, ?....) "
En fait cela s'appelle une Baree de menu et non une Barre en Haut.

Voici ta liste :


Sujet Rép. Date
Re : Aide sur winsock pour un débutant 0 24/09/2004 22:39:23
Re : Réouverture de winsock 0 24/09/2004 22:35:26
questiohn existencielle lol!! 1 24/09/2004 22:28:09
Re : Site mal fait 0 10/09/2004 23:45:50
Re : Winsock et Mirc 0 24/08/2004 15:08:11
Re : scusez-moi mais le chat FAIT DUR! 0 21/08/2004 01:41:23
Project failed to built! 0 31/07/2004 18:52:35
Re : image sur un bouton de toolbar 0 31/07/2004 16:47:04
Re : VB6FR.DLL 0 31/07/2004 16:30:51
image sur un bouton de toolbar 3 31/07/2004 16:09:40
Re : BJR! importer un fichier dans mon programme 0 31/07/2004 16:03:31
BJR! importer un fichier dans mon programme 12 31/07/2004 15:40:54
Re : Registre ert vb - help me!!! 0 31/07/2004 15:23:51
Registre ert vb - help me!!! 3 31/07/2004 02:32:08
Re : help me! comparer des fichier avec une base de donnée 0 30/07/2004 16:42:33
help me! comparer des fichier avec une base de donnée 2 30/07/2004 14:37:43
Re : comment faire une barre en haut (Fichier, édition, ?....) 0 25/07/2004 16:22:18
Re : comment faire une barre en haut (Fichier, édition, ?....) 0 25/07/2004 16:14:40
Re : comment faire une barre en haut (Fichier, édition, ?....) 0 25/07/2004 16:06:28
Re : comment faire une barre en haut (Fichier, édition, ?....) 0 25/07/2004 16:04:52
comment faire une barre en haut (Fichier, édition, ?....) 8 25/07/2004 15:31:27
scanner tout les fichier du disque dur et les comparer avec une base de données 0 24/07/2004 16:18:48
Re : Comment ouvrir une Form à partir d'un bouton? 0 24/07/2004 15:23:04
Re : Comment ouvrir une Form à partir d'un bouton? 0 23/07/2004 17:30:04
scusez-moi mais le chat FAIT DUR! 2 23/07/2004 16:43:55
Comment ouvrir une Form à partir d'un bouton?
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
24 sept. 2004 à 22:49
Peut-être peut-tu répondre à ma question qui est dans le Forum ?

j'ai fait un Service en VB.NET ayant un timer nommé 'ecc', le pb c'est que même en ayant ce code :
ecc.interval=100
ecc.enabled=true
ecc.start()

Ben le timer ne se lance jamais et du coup tout le script contenu dans le ecc_tick(......) ne s'éxécute pas.

Quelqu'un peut me dire pourquoi ? et comment lancer ce timer

Merci d'avance.
Chris...

(Voir sujet : "Service .NET" de ce jour)
0
Netaholic Messages postés 4 Date d'inscription mercredi 17 décembre 2003 Statut Membre Dernière intervention 25 septembre 2004
25 sept. 2004 à 12:08
merci bien cboulas je comprend déjà mieux comme ça. par contre pour ton problème désolé mais j'ai pas encore le niveau pour te répondre (lol).
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
25 sept. 2004 à 12:10
Salut,

Ce n'est pas grave, mon pb dure depuis 2 - 3 jours sans réponse.

Bon courrage.

Chris
0
Rejoignez-nous