[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
- System thread exception not handled ndis.sys ✓ - Forum Windows 10
- Vb.net express - Télécharger - Langages
- Socket 1366 ✓ - Forum Matériel & Système
et c'était quoi la la solution?
Merci ;-) ca m'intéresse