Gast
#1485518
Guten Morgen, ich hab mir unter Microsoft Visual Studio C++ 2008 ein UDP Client Programm geschrieben. Sobald ich das Programm ausführen möchte, erscheinen meherer Linker Fehler:
1 | |
2 | |
3 | |
4 | |
|
Anzeige
|
udp Programm lässt sich nicht linken
Gast
#1485518
Guten Morgen, ich hab mir unter Microsoft Visual Studio C++ 2008 ein UDP Client Programm geschrieben. Sobald ich das Programm ausführen möchte, erscheinen meherer Linker Fehler:
http://msdn.microsoft.com/en-us/library/ms737629%28VS.85%29.aspx -> Community Content Wichtigstes Zitat daraus: Ensure that the build environment links to the Winsock Library file WS2_32.lib. Applications that use Winsock must be linked with the WS2_32.lib library file. Also muss diese Library in den Projekteinstellungen als zusätzlich zu verwendende Library aufgeführt werden. Alternativ kann man bei Microsoft-Compilern auch sowas machen: #pragma comment(lib, "ws2_32.lib") (in einem Sourcefile des Projekts unterbringen)
Gast
#1485572
Danke! Hat sich somit erledigt.
Gast
#1485574
Hab bezüglich UDP noch eine Frage. Wie kann man dem UDP Socket sagen, dass ich die andere Netzwerkkarte verwenden möchte? Ist dies einstellbar? Bug schrieb: > Hab bezüglich UDP noch eine Frage. Wie kann man dem UDP Socket sagen, > dass ich die andere Netzwerkkarte verwenden möchte? Ist dies > einstellbar? Als "Absender" die IP der anderen Netzwerkkarte auswählen, das Routing macht den Rest.
Gast
#1485611
Ich kann nur die Empfangsadresse einstellen.
Gast
#1485663
> Ich kann nur die Empfangsadresse einstellen.
Wenn du kein bind() machst, vergibt er lokale Adresse und Port
automatisch. Aber das ist dafür egal. Das Routing kümmert sich anhand
der Zieladresse schon automatisch darum, das da rauszuschicken, wo es
hingehört.
Gast
#1485760
Das ist mein Code für das Empfangen.
Gast
#1485832
Auf der PC Seite habe ich mal mit C++ eine Beispielapplikation erstellt. Mit dieser sende ich alle paar Millisekunden ein UDP-Packet. Mein PC besitzt zwei Netzwerkkarten. Das Empfangsmodul ist ein Mikrocontroller mit einer Ethernet Schnittstelle. Jetzt weiss halt nicht genau wo man auf der PC-Seite auswählen kann auf welche Netzwerkkarte die Nachrichten versendet werden sollen. Schlag doch mal die Doku zu udp_bind() und speziell zu deinem verwendeten Parameter IP_ADDR_ANY nach. z.B. hier http://www.ecoscentric.com/ecospro/doc.cgi/html/ecospro-ref/lwip-api-raw-udp.html An der Stelle in udp_bind() kann auch was anderes stehen.
Gast
#1486438
> Jetzt weiss halt nicht genau wo man auf der PC-Seite auswählen kann auf > welche Netzwerkkarte die Nachrichten versendet werden sollen. Das wählst du über die der Karte über das Betriebssystem zugewiesene IP-Adresse und Netzmaske aus. Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|