peacandeliem17
Messages postés9Date d'inscriptionsamedi 11 mars 2006StatutMembreDernière intervention 1 mars 2009
-
28 févr. 2009 à 13:07
peacandeliem17
Messages postés9Date d'inscriptionsamedi 11 mars 2006StatutMembreDernière intervention 1 mars 2009
-
28 févr. 2009 à 17:37
Bonjour , je débute dans la programmation réseau et dans le multithread.
J'ai donc crée mon premier petit chat tout simple un serveur un client.
Maintenant je m'attaque un un serveur et multi-clients.
J'ai tout simplement un serveur qui ressemble à ça ( en très compacté ) :
SocketServer = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Dim ipadress As IPAddress()
Dim he As IPHostEntry = Dns.GetHostEntry(Dns.GetHostName)
ipadress = he.AddressList
Me.SocketServer.Bind(New IPEndPoint(ipadress(0), 15))
Me.SocketServer.Listen(1)
Me.SocketServer.BeginAccept(AddressOf ConnectionAcceptCallback, Me.SocketServer)
Et j'ai ma fonction de rappel ( toujours en très compacté ) :
Private Sub ConnectionAcceptCallback(ByVal asyncResult As IAsyncResult)
Dim socket As Socket = CType(asyncResult.AsyncState, Socket)
Me.SocketClient = socket.EndAccept(asyncResult)
End Sub
En fait je voudrais qu'à chaque fois qu'un client se connecte il m'affiche un nouveau Form que j'ai crée qui s'appelle Client, et tout les nouveau Client sont dans un tableau (clients(30)). Si je rajoute un truc du genre clients(i) = new Client et après Client.Show() à la fin de ma méthode de rappel il affiche un nouveau Client et il plante tout de suite.
J'ai juste essayé de crée un nouveau Form quelconque , si je fais juste Form.Show() à la fin de ma méthode de rappel il s'affiche et il plante, je ne comprend pas pourquoi. Ca viendrai pas du multi-threading ?
Mais j'ai pas encore les connaissances nécessaires dans le domaine pour comprendre ce qui se passe ....
peacandeliem17
Messages postés9Date d'inscriptionsamedi 11 mars 2006StatutMembreDernière intervention 1 mars 2009 28 févr. 2009 à 17:37
Juste pour préciser ma demande :
En fait tout ce que je demande c'est si quelqu'un sait pourquoi mon prog plante dès que je demande l'affichage d'un Form (Form.show()) dans ma méthode de rappel ( aucune exception au débogage ) .
Merci