Application de chat multiClient/serveur avec Winsock VB.Net [Résolu]

- - Dernière réponse : cs_Jack
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
- 9 mars 2013 à 03:04
Bonjour,
je vais voire comment je peut rendre cette application accepter plusieurs connexions avec Winsock & merci d'avance


Public Class Form1


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Winsock1.LocalPort = 1234
Winsock1.Listen()
End Sub

Private Sub Winsock1_CloseEvent(ByVal sender As Object, ByVal e As System.EventArgs) Handles Winsock1.CloseEvent
Winsock1.Close()
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal sender As Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_ConnectionRequestEvent) Handles Winsock1.ConnectionRequest
Dim i As Integer
i = i + 1

Winsock1.Accept(e.requestID)
End Sub

Private Sub Winsock1_DataArrival(ByVal sender As Object, ByVal e As AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent) Handles Winsock1.DataArrival
Dim data As String = ""
Winsock1.GetData(data)
msg(data)
End Sub
Private Sub msg(ByVal x As String)
TextBox1.Text = TextBox1.Text + Environment.NewLine + " >> " + x
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
On Error Resume Next
Winsock1.SendData(TextBox2.Text)
TextBox2.Clear()
End Sub
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
14383
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
10 février 2019
153
3
Merci
Bonjour,

En .NET, pas de Winsock, mais System.Net.Sockets.(TcpClient, TcpListener).

Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).

v----Signature--------v----------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---

Dire « Merci » 3

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

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

Commenter la réponse de NHenry
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
73
3
Merci
Fais donc une recherche parmi les codes en .Net avec le mot "socket" : tout est là.

Dire « Merci » 3

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

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

Commenter la réponse de cs_Jack
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
73
0
Merci
Salut

Oui, NHenry à raison, bien que le Winsock soit un peu plus pratique, il appartient aux anciens objets VB6.

Pour que ton programme accepte plusieurs connexions, il faut :
- Un socket en Listen
- Une collection de Sockets, donc indexés, pour communiquer
- Lorsque le socket en Listen reçoit une demande de connexion, il faut accepter, mais en utilisant un autre socket (un parmi la collection).
Si c'est le socket en Listen qui accepte, il n'est plus en Listen.

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 le partage (Socrate)
Commenter la réponse de cs_Jack
0
Merci
Merci Pour Les réponses
Si je peut pas faire avec le Winsock,vous pouvez me donner un code complet partie client & serveur (TcpClient, TcpListener) ou juste une petite exemple
Merci
Commenter la réponse de xmahdix

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.