Hi, ich hoffe es kann mir hier jemand helfen. Ich habe mit Visual C++ eine Konsolenanwendung geschrieben, mit der ich einen UDP Client starte. Der UDP Server ist auf meinem Mikrocontroller. Mit Wireshark kann ich die versendeten UDP Telegramm sehen. Sobald ich meine Konsolenanwenung starte, liefert mit die Funktion "WSAGetLastError()" den Fehlercode "10022" zurück. Was habe ich womöglich übersehen?
client schrieb: > Sobald ich > meine Konsolenanwenung starte, liefert mit die Funktion > "WSAGetLastError()" den Fehlercode "10022" zurück. bei welcher der Zielen wird denn der Fehler angezeigt, du hast ja mehre stellen wo du WSAGetLastError() aufrufst.
client schrieb: > "WSAGetLastError()" den Fehlercode "10022" zurück. Was habe ich > womöglich übersehen? Guck mal, was dieser Code (10022) bedeutet. Ich habe mich nur mit TCP-Sockets beschäftigt, aber jedes Mal deutete die Fehlerbeschreibung (bzw. Fehlermeldung) genau auf die Fehlerursache hin.
Da mich das auch interessierte hab ich einfach den Fehlercode inklusive Funktionsname in das Eingabefeld einer populären Suchmaschine kopiert. Bei mir der dritte Treffer: > WSAEINVAL > 10022 > Invalid argument. > Some invalid argument was supplied (for example, specifying an invalid level to the setsockopt function). In some instances, it also refers to the current state of the socket—for instance, calling accept on a socket that is not listening. So, und jetzt schau mal nach, welchen Parameter Du falsch übergeben hast. Mein Tipp wäre die Länge...
die Länge sieht gut aus, aber ich würde sagen da fehlt das bind() um dem Empfänger zu sagen auf welchem Port empfangen werden soll. Hier hat MS es vorgemacht: http://msdn.microsoft.com/en-us/library/ms740120(VS.85).aspx
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.