salut ,
il faut savoir que dans le protocole UDP il y'a pas connexion
il faut faire un THREAD qui sert a recupere les messages envoye par les # clients
on ajoute un procedure
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
private sub receive()
Try
srtAdresesIP = textIP.Text
numPort = textPort.Text
'Mise au format de l'adresse IP
Dim ipAdresse As IPAddress = IPAddress.Parse(srtAdresesIP)
'----------- Traitement
'------- Ecoute des demandes de connexion
udpClient.Connect(ipAdresse, numPort)
' IPEndPoint object will allow us to read datagrams sent from any source.
Dim RemoteIpEndPoint As New IPEndPoint(IPAddress.Any, 0)
'Reception de la donnée
Dim buffer As [Byte]() = udpClient.Receive(RemoteIpEndPoint)
' Converti les valeurs ASCII en chaine de caractères
data = Encoding.ASCII.GetString(buffer)
'-------Affiche le message reçu
TextMessage.invoke(d,data)
Catch ex As Exception
msg = "Erreur " & ex.Message
LabelEtat.Text = msg
End Try
end sub |
et modifier
1 2 3 4 5
|
Private Sub Connect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Connect.Click
dim THREADRECEIVE as new theading.thread(adresseof receive)
THREADRECEIVE.start()
End Sub |
mais attention consernant l'affichage
comme on a utilise un autre thraed que le THRAED MAIN c'est a dire c lui de main
il cree une delege afin de faire les mise a jour de l'interface graphique
1 2 3
|
TextMessage.Enabled = True
TextMessage.Text = data |
voici le code a ajoute en votre form
dans la zone de declaration
1 2 3
|
Delegate sub miseajour(parametre As string )
Dim D As miseajour |
et dans la methode form_load
ajoute
D=new miseajour(AddressOf affichage)
et finalement ajoute
le procedure
affichage
1 2 3 4 5
|
private sub affichage(byval data as string)
TextMessage.Enabled = True
TextMessage.Text = data
end sub |
Partager