[VB.net] Socket et thread
Résolu
afrodje
Messages postés
759
Date d'inscription
Statut
Membre
Dernière intervention
-
Piano -
Piano -
Bonjour,
Je crée une classe "class_serveur". Mais aucun client n'arrive à se connecter. Il y a aucun message d'erreur.
Voici ma classe
Je crée une classe "class_serveur". Mais aucun client n'arrive à se connecter. Il y a aucun message d'erreur.
Voici ma classe
Public Class Class_serveur Inherits System.Windows.Forms.Form 'creation du tube de communication en mode connecté Private socketServeur As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) 'creation du point de rattachement de la connexion (ip + port) 'nom d'hote du serveur et le client doit se connecter avec le nom d'hote du serveur Private ipend_serveur As New IPEndPoint(Dns.Resolve("localhost").AddressList(0), 6860) 'socket intermediaire car on travail sur Dim mySocket As Socket Dim message(1024) As Byte Function connexion() As Boolean Try 'attachement a la socket socketServeur.Bind(ipend_serveur) 'ajout d'un commentaire ' rajouter la ligne -> Form_principale.TextBox_archive.Text &= vbNewLine & "En attente de client" & vbNewLine Form_principale.TextBox_archive.Text = "En attente de client" 'ecoute d'une demande (1 seul client) socketServeur.Listen(1) 'connection serveur 'creation du thread socketServeur.BeginAccept(AddressOf ConnectionAcceptCallback, Me.socketServeur) Return True Catch ex As Exception MsgBox("erreur connexion serveur") End Try End Function 'fonction de callback accept(lancement de thread) Sub ConnectionAcceptCallback(ByVal asyncResult As IAsyncResult) 'connection reussi mySocket = socketServeur.EndAccept(asyncResult) Form_principale.TextBox_archive.Text &= vbNewLine & "connexion reussi" & vbNewLine 'connexion reussi alors on se met en receive constant et appelle de la fonction receivecallback mySocket.BeginReceive(message, 0, message.Length, SocketFlags.None, AddressOf receivecallback, socketServeur) End Sub Sub Sendcallback(ByVal asyncResult As IAsyncResult) Dim erreur As Integer erreur = mySocket.EndSend(asyncResult) End Sub Sub receivecallback(ByVal asyncResult As IAsyncResult) Dim erreur As Integer Dim message_decode As String erreur = mySocket.EndReceive(asyncResult) message_decode = System.Text.Encoding.ASCII.GetString(message) Form_principale.TextBox_archive.Text &= vbNewLine & message_decode & vbNewLine 'le message est en attente de receive dans le thread mySocket.BeginReceive(message, 0, message.Length, SocketFlags.None, AddressOf receivecallback, socketServeur) Array.Clear(message, 0, 1023) End Sub End Class
A voir également:
- [VB.net] Socket et thread
- Compte thread - Accueil - Réseaux sociaux
- Thread instagram c'est quoi - Accueil - Guide réseaux sociaux
- Vb.net express - Télécharger - Langages
- Check_nrpe state critical: socket timeout after 10 seconds. ✓ - Forum Ubuntu
- Error 2002 (hy000): can't connect to local server through socket '/run/mysqld/mysqld.sock' (2) - Forum Linux / Unix
et c'était quoi la la solution?
Merci ;-) ca m'intéresse