UDPClient, envoi et reception sur le même PC [Résolu]

kazaam 14 Messages postés lundi 17 mars 2003Date d'inscription 7 septembre 2010 Dernière intervention - 6 sept. 2010 à 19:48 - Dernière réponse : kazaam 14 Messages postés lundi 17 mars 2003Date d'inscription 7 septembre 2010 Dernière intervention
- 7 sept. 2010 à 15:30
Hello

Je suis en train de développer 2 applis.

un service qui reçoit les messages en UDP
Un exécutable qui envoi des messages en UDP

Le problème c'est qu'une fois le service lancé, impossible de créer le socket pour envoyer des messages, pour VB le socket est deja utilisé.

Ok je veux bien mais comment le réutiliser ou le partager?

Merci
Kazaam
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
foliv57 423 Messages postés vendredi 17 novembre 2006Date d'inscription 15 juillet 2014 Dernière intervention - 7 sept. 2010 à 12:37
3
Merci
Bonjour,

Il n'est pas possible de mettre 2x sur écoute le même port sur la même machine.

Par contre il est tout à fait possible d'envoyer et de recevoir sur le même port avec la même machine (même si l'interet semble plutot étrange).

Exemple :
Public Class Form1

    Private udp1 As New UdpClient(1190)
    Private udp2 As New UdpClient()

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        udp1.BeginReceive(AddressOf Receive, Nothing)
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim buffer() As Byte = {0, 1, 2, 3}
        udp2.Send(buffer, 4, "localhost", 1190)
    End Sub

    Private Sub Receive(ByVal ar As IAsyncResult)
        Dim buffer() As Byte
        Dim ipe As IPEndPoint = Nothing
        buffer = udp1.EndReceive(ar, ipe)
    End Sub

End Class


L'erreur à ne pas faire pour l'envoi et de recréer un UdpClient sur le même port

Private udp1 As New UdpClient(1190)
Private udp2 As New UdpClient(1190)


à ce moment la on génère une erreur.

Merci foliv57 3

codes-sources a aidé 80 internautes ce mois-ci

Commenter la réponse de foliv57
NHenry 14183 Messages postés vendredi 14 mars 2003Date d'inscription 27 mai 2018 Dernière intervention - 6 sept. 2010 à 21:21
0
Merci
Bonjour,

Elles doivent se trouver sur des ports différents.
Sinon, test avec 2 machines.

Mon site
Commenter la réponse de NHenry
kazaam 14 Messages postés lundi 17 mars 2003Date d'inscription 7 septembre 2010 Dernière intervention - 7 sept. 2010 à 09:52
0
Merci
C'est bien le problème, la machine doit pouvoir émettre et recevoir depuis la même machine et sur le même port

Le truc bizarre, c'est que mon appli ne sait pas envoyer, alors que l'appli sendudp (dispo sur le net) utilise le meme port et envoi bien le message


Kazaam
Commenter la réponse de kazaam
kazaam 14 Messages postés lundi 17 mars 2003Date d'inscription 7 septembre 2010 Dernière intervention - 7 sept. 2010 à 15:30
0
Merci
Merci

a voir si je reussi a utiliser dans 2 applis differentes

rien d'étrange, c'est remplaçant a netsend mais par udp (pour des raisons de secu réseau qui elles sont étranges)

Kazaam
Commenter la réponse de kazaam

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.