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

Messages postés
14
Date d'inscription
lundi 17 mars 2003
Dernière intervention
7 septembre 2010
- 6 sept. 2010 à 19:48 - Dernière réponse :
Messages postés
14
Date d'inscription
lundi 17 mars 2003
Dernière intervention
7 septembre 2010
- 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
Messages postés
423
Date d'inscription
vendredi 17 novembre 2006
Dernière intervention
15 juillet 2014
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

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 91 internautes ce mois-ci

Commenter la réponse de foliv57
Messages postés
14301
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
20 novembre 2018
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
Messages postés
14
Date d'inscription
lundi 17 mars 2003
Dernière intervention
7 septembre 2010
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
Messages postés
14
Date d'inscription
lundi 17 mars 2003
Dernière intervention
7 septembre 2010
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.