Je suis entrain de devellopez un petit programme qui contient un "chat" le
probleme c'est que je ne suis pas capable de connecter plus d'un client au
serveur l'orsque le second client essaie de ce connecter et bien le server
le reffuse :(
quelqu'un aurait une iddée pk le serveur accept seulement 1 connexion a la
fois.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
ano
c'est asser simple sur le principe ... j'ai fait un prog du meme style il y a queques temps avec un serveur , j'ai fais des teste avec 15 personne simultanée ca marche impecable...
donc sur le principe tu cree une classe client sur ton seveur
Private tacheclient As New Thread(AddressOf ecoute)
Public Sub ecoute() Dim port As Integer = 80 serveur = New TcpListener(IPAddress.Parse("127.0.0.1"), port) serveur.Start() Try While True Dim cl As New conserv(serveur.AcceptTcpClient) AddHandler cl.deconnection, AddressOf ondeconnection AddHandler cl.reception, AddressOf onreception 'ect... tu place ce que tu veux 'bien sur declarer dans ta classe avant... End While
ta classe conserv 'connection serveur Private _tcpclient As TcpClient Public ReadOnly Property tcpclient() As TcpClient Get Return _tcpclient End Get End Property
Public Sub New(ByVal client As TcpClient) _tcpclient = client tcpclient.GetStream.BeginRead(buffer, 0, 1024, AddressOf lecture, Nothing) End Sub
voila a definir dans ta classe la gestion de reception et d'envoie des message ... (examlpe pour la lecture...)
sinon attention dans ton prog toutes les variable recu de ton thread doit etre passer avec un delegate pour les utiliser dans par exemple ta form du style textbox1.text
ps je viens de taper le code comme ca peut etre il y des erreur a verifier...
c'est asser simple sur le principe ...
j'ai fait un prog du meme style il y a queques temps avec un serveur ,
j'ai fais des teste avec 15 personne simultanée ca marche impecable...
donc sur le principe tu cree une classe client sur ton seveur
Private tacheclient As New Thread(AddressOf ecoute)
Public Sub ecoute()
Dim port As Integer = 80
serveur = New TcpListener(IPAddress.Parse("127.0.0.1"), port)
serveur.Start()
Try
While True
Dim cl As New conserv(serveur.AcceptTcpClient)
AddHandler cl.deconnection, AddressOf ondeconnection
AddHandler cl.reception, AddressOf onreception
'ect... tu place ce que tu veux 'bien sur declarer dans ta classe
avant...
End While
ta classe conserv 'connection serveur
Private _tcpclient As TcpClient
Public ReadOnly Property tcpclient() As TcpClient
Get
Return _tcpclient
End Get
End Property
Public Sub New(ByVal client As TcpClient)
_tcpclient = client
tcpclient.GetStream.BeginRead(buffer, 0, 1024, AddressOf
lecture, Nothing)
End Sub
voila a definir dans ta classe la gestion de reception et d'envoie des
message ... (examlpe pour la lecture...)
sinon attention dans ton prog toutes les variable recu de ton thread
doit etre passer avec un delegate pour les utiliser dans par exemple
ta form du style textbox1.text
ps je viens de taper le code comme ca peut etre il y des erreur a
verifier...
c'est asser simple sur le principe ... j'ai fait un prog du meme style il y a queques temps avec un serveur , j'ai fais des teste avec 15 personne simultanée ca marche impecable...
donc sur le principe tu cree une classe client sur ton seveur
Private tacheclient As New Thread(AddressOf ecoute)
Public Sub ecoute() Dim port As Integer = 80 serveur = New TcpListener(IPAddress.Parse("127.0.0.1"), port) serveur.Start() Try While True Dim cl As New conserv(serveur.AcceptTcpClient) AddHandler cl.deconnection, AddressOf ondeconnection AddHandler cl.reception, AddressOf onreception 'ect... tu place ce que tu veux 'bien sur declarer dans ta classe avant... End While
ta classe conserv 'connection serveur Private _tcpclient As TcpClient Public ReadOnly Property tcpclient() As TcpClient Get Return _tcpclient End Get End Property
Public Sub New(ByVal client As TcpClient) _tcpclient = client tcpclient.GetStream.BeginRead(buffer, 0, 1024, AddressOf lecture, Nothing) End Sub
voila a definir dans ta classe la gestion de reception et d'envoie des message ... (examlpe pour la lecture...)
sinon attention dans ton prog toutes les variable recu de ton thread doit etre passer avec un delegate pour les utiliser dans par exemple ta form du style textbox1.text
ps je viens de taper le code comme ca peut etre il y des erreur a verifier...
Gilles TOURREAU [MVP]
"Sim" a écrit dans le message de news:%
Bonjour a tous ,
Je suis entrain de devellopez un petit programme qui contient un "chat" le probleme c'est que je ne suis pas capable de connecter plus d'un client au serveur l'orsque le second client essaie de ce connecter et bien le server le reffuse :(
Pouvez-vous êtres plus explicite ?
quelqu'un aurait une iddée pk le serveur accept seulement 1 connexion a la fois.
Merci de votre aide
Créez-vous des thread dans le serveur à chaque fois qu'un client se connecte ?
Cordialement
-- Gilles TOURREAU - MVP C# E-Mail : Site Web : http://gilles.tourreau.fr
P.O.S - Le spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr
"Sim" <Sim123@hotmail.com> a écrit dans le message de
news:%23wqg2LVeIHA.4696@TK2MSFTNGP05.phx.gbl...
Bonjour a tous ,
Je suis entrain de devellopez un petit programme qui contient un "chat" le
probleme c'est que je ne suis pas capable de connecter plus d'un client au
serveur l'orsque le second client essaie de ce connecter et bien le server
le reffuse :(
Pouvez-vous êtres plus explicite ?
quelqu'un aurait une iddée pk le serveur accept seulement 1 connexion a la
fois.
Merci de votre aide
Créez-vous des thread dans le serveur à chaque fois qu'un client se connecte
?
Cordialement
--
Gilles TOURREAU - MVP C#
E-Mail : gilles.tourreau@pos.fr
Site Web : http://gilles.tourreau.fr
P.O.S - Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
Je suis entrain de devellopez un petit programme qui contient un "chat" le probleme c'est que je ne suis pas capable de connecter plus d'un client au serveur l'orsque le second client essaie de ce connecter et bien le server le reffuse :(
Pouvez-vous êtres plus explicite ?
quelqu'un aurait une iddée pk le serveur accept seulement 1 connexion a la fois.
Merci de votre aide
Créez-vous des thread dans le serveur à chaque fois qu'un client se connecte ?
Cordialement
-- Gilles TOURREAU - MVP C# E-Mail : Site Web : http://gilles.tourreau.fr
P.O.S - Le spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr
Sim
Voici une partie du code en esperant ne pas trop te mêler :(
****** TIMER ******* Private Sub tmrWait_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrWait.Tick
'txtMessage.Text = strTemp & " Vient de ce déconnecter"
'strTemp = ""
'txtMessage.Text = ""
Exit Sub
Case ":connection:REFUSED"
Reset()
MessageBox.Show("Connexion refusée par l'hôte.", "Connexion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Exit Sub
Case ":connection:ACCEPTED"
MessageBox.Show("Connexion acceptée par l'hôte.", "Connexion", MessageBoxButtons.OK, MessageBoxIcon.Information)
strTemp = ""
sbpConnection.Text = "Connecté !"
sbpConnection.Icon = New System.Drawing.Icon("TRFFC10A.ICO")
End Select
If strTemp <> "" Then
txtAff.Text += strTemp & vbCrLf
strTemp = ""
End If
End If
End Sub
"Gilles TOURREAU [MVP]" a écrit dans le message de news:
"Sim" a écrit dans le message de news:%
Bonjour a tous ,
Je suis entrain de devellopez un petit programme qui contient un "chat" le probleme c'est que je ne suis pas capable de connecter plus d'un client au serveur l'orsque le second client essaie de ce connecter et bien le server le reffuse :(
Pouvez-vous êtres plus explicite ?
quelqu'un aurait une iddée pk le serveur accept seulement 1 connexion a la fois.
Merci de votre aide
Créez-vous des thread dans le serveur à chaque fois qu'un client se connecte ?
Cordialement
-- Gilles TOURREAU - MVP C# E-Mail : Site Web : http://gilles.tourreau.fr
P.O.S - Le spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr
Voici une partie du code en esperant ne pas trop te mêler :(
****** TIMER *******
Private Sub tmrWait_Tick(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles tmrWait.Tick
'txtMessage.Text = strTemp & " Vient de ce déconnecter"
'strTemp = ""
'txtMessage.Text = ""
Exit Sub
Case ":connection:REFUSED"
Reset()
MessageBox.Show("Connexion refusée par l'hôte.", "Connexion",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Exit Sub
Case ":connection:ACCEPTED"
MessageBox.Show("Connexion acceptée par l'hôte.", "Connexion",
MessageBoxButtons.OK, MessageBoxIcon.Information)
strTemp = ""
sbpConnection.Text = "Connecté !"
sbpConnection.Icon = New System.Drawing.Icon("TRFFC10A.ICO")
End Select
If strTemp <> "" Then
txtAff.Text += strTemp & vbCrLf
strTemp = ""
End If
End If
End Sub
"Gilles TOURREAU [MVP]" <gilles.tourreau@pos.fr> a écrit dans le message de
news: 60841125-B16E-4F37-8376-0621D379F7DF@microsoft.com...
"Sim" <Sim123@hotmail.com> a écrit dans le message de
news:%23wqg2LVeIHA.4696@TK2MSFTNGP05.phx.gbl...
Bonjour a tous ,
Je suis entrain de devellopez un petit programme qui contient un "chat"
le
probleme c'est que je ne suis pas capable de connecter plus d'un client
au
serveur l'orsque le second client essaie de ce connecter et bien le
server
le reffuse :(
Pouvez-vous êtres plus explicite ?
quelqu'un aurait une iddée pk le serveur accept seulement 1 connexion a
la
fois.
Merci de votre aide
Créez-vous des thread dans le serveur à chaque fois qu'un client se
connecte ?
Cordialement
--
Gilles TOURREAU - MVP C#
E-Mail : gilles.tourreau@pos.fr
Site Web : http://gilles.tourreau.fr
P.O.S - Le spécialiste en motoculture depuis + de 30 ans !
http://www.pos.fr
'txtMessage.Text = strTemp & " Vient de ce déconnecter"
'strTemp = ""
'txtMessage.Text = ""
Exit Sub
Case ":connection:REFUSED"
Reset()
MessageBox.Show("Connexion refusée par l'hôte.", "Connexion", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Exit Sub
Case ":connection:ACCEPTED"
MessageBox.Show("Connexion acceptée par l'hôte.", "Connexion", MessageBoxButtons.OK, MessageBoxIcon.Information)
strTemp = ""
sbpConnection.Text = "Connecté !"
sbpConnection.Icon = New System.Drawing.Icon("TRFFC10A.ICO")
End Select
If strTemp <> "" Then
txtAff.Text += strTemp & vbCrLf
strTemp = ""
End If
End If
End Sub
"Gilles TOURREAU [MVP]" a écrit dans le message de news:
"Sim" a écrit dans le message de news:%
Bonjour a tous ,
Je suis entrain de devellopez un petit programme qui contient un "chat" le probleme c'est que je ne suis pas capable de connecter plus d'un client au serveur l'orsque le second client essaie de ce connecter et bien le server le reffuse :(
Pouvez-vous êtres plus explicite ?
quelqu'un aurait une iddée pk le serveur accept seulement 1 connexion a la fois.
Merci de votre aide
Créez-vous des thread dans le serveur à chaque fois qu'un client se connecte ?
Cordialement
-- Gilles TOURREAU - MVP C# E-Mail : Site Web : http://gilles.tourreau.fr
P.O.S - Le spécialiste en motoculture depuis + de 30 ans ! http://www.pos.fr