xmahdix
-
8 mars 2013 à 18:57
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 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
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024159 8 mars 2013 à 19:56
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 ---
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 8 mars 2013 à 21:45
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)
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