Aide sur winsock pour un débutant [Résolu]

Messages postés
4
Date d'inscription
mercredi 17 décembre 2003
Statut
Membre
Dernière intervention
25 septembre 2004
- - Dernière réponse : 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
Afficher la suite 

12 réponses

Meilleure réponse
Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
63
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 134 internautes nous ont dit merci ce mois-ci

Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
13
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 134 internautes nous ont dit merci ce mois-ci

Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
13
0
Merci
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
Messages postés
4
Date d'inscription
mercredi 17 décembre 2003
Statut
Membre
Dernière intervention
25 septembre 2004
0
Merci
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.
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
13
0
Merci
Je te fait ça

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

Chris
Messages postés
91
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
27 août 2006
1
0
Merci
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!
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
13
0
Merci
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?
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
13
0
Merci
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)
Messages postés
4
Date d'inscription
mercredi 17 décembre 2003
Statut
Membre
Dernière intervention
25 septembre 2004
0
Merci
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).
Messages postés
2641
Date d'inscription
mercredi 2 juin 2004
Statut
Membre
Dernière intervention
8 janvier 2014
13
0
Merci
Salut,

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

Bon courrage.

Chris