Verbinden von zwei UDP-Clients mit einem Port (Senden und Empfangen)

7

Ich habe den Vorschlag aus versucht diese Frage mit sehr wenig Erfolg.

Bitte ... jede Hilfe wird sehr geschätzt werden!

Hier ist mein Code:

%Vor%     
brooc 02.02.2012, 21:11
quelle

4 Antworten

23

Sie müssen die Socket-Option vor dem Binden festlegen.

%Vor%

Oder ein anschaulicheres Beispiel:

%Vor%     
sipwiz 03.02.2012, 11:53
quelle
2

Ich habe Ihre Fehlernachricht nachgeschlagen und erklärt, was der Fehler ist und warum er auftritt.

Hier ist die genaue Fehlermeldung und der Grund WSAEACCES 10013 ( MSDN )

  

Berechtigung verweigert.

     

Es wurde versucht, auf eine Socket zuzugreifen, wie es durch seine verboten ist   Zugriffsberechtigungen Ein Beispiel ist die Verwendung einer Broadcast-Adresse für sendto   ohne Broadcast-Berechtigung wird mit setsockopt (SO_BROADCAST) festgelegt.

     

Ein weiterer möglicher Grund für den WSAEACCES-Fehler ist, dass beim Binden   Funktion wird aufgerufen (unter Windows NT 4.0 mit SP4 und höher), eine andere   Treiber für Anwendungen, Dienste oder Kernelmodi ist an dasselbe gebunden   Adresse mit exklusivem Zugang. Ein solcher exklusiver Zugang ist ein neues Merkmal   von Windows NT 4.0 mit SP4 und höher, und wird mit dem implementiert   SO_EXCLUSIVEADDRUSE-Option.

    
MethodMan 02.02.2012 21:55
quelle
0

Auch wenn ich den Code ändere, damit ich eine IP-Adresse weitergeben kann, bekomme ich die gleiche Fehlermeldung, dass man nicht an denselben Port binden kann und nur ein Port verwendet werden kann Hier ist der Beispielcode Ich benutzte Ihr Beispiel und änderte es, um meine IP von meinem lokalen Rechner zu erfassen ..

%Vor%

Dies wird die Ausnahme bei der Bind () Methode erzeugen .. sorry.

    
MethodMan 02.02.2012 22:32
quelle
0

Lösung von WSAEACCESS 10013 ( MSDN ) ) Ausnahme in UDP-Anwendung können Sie

versuchen %Vor%     
naXa 17.09.2016 10:53
quelle

Tags und Links