Hallo Wissende, ich möchte in folgender Funktion UDPOpenClient(IP_ADDRESS_TYPE addType, UDP_PORT remotePort, IP_MULTI_ADDRESS* remoteAddress) die IP 192.168.17.255 übergeben. Wie teile ich ihr das bei folgendem Funktionsaufruf mit: UDPOpenClient(IP_ADDRESS_TYPE_IPV4,19201,???); Danke für alle Antworten.
woher sollen wir wissen wie die funktion UDPOpenClient arbeitet? Was steht denn in der doku? Zu welchem Framework gehört sich denn überhaupt? google findet sich nciht mal.
Siggi K. schrieb: > Hallo Wissende, > > ich möchte in folgender Funktion > > UDPOpenClient(IP_ADDRESS_TYPE addType, UDP_PORT remotePort, > IP_MULTI_ADDRESS* remoteAddress) > > die IP 192.168.17.255 übergeben. Wie teile ich ihr das bei folgendem > Funktionsaufruf mit: > > UDPOpenClient(IP_ADDRESS_TYPE_IPV4,19201,???); > > Danke für alle Antworten. Ich hätte mal gesagt, der Schlüssel liegt im ....., IP_MULTI_ADDRESS* remoteAddress) du legst dir also so eine Struktur an
1 | IP_MULTI_ADDRESS address; |
sorgst dafür, dass die relevanten Werte in die jeweiligen Member des address Objektes kommen, und rufst die Funktion auf, in dem du einen Pointer auf dein IP_MULTI_ADDRESS Objekt übergibst, ganz so wie es die Funktion haben will:
1 | UDPOpenClient( IP_ADDRESS_TYPE_IPV4, 19201, &address ); |
Peter II schrieb: > woher sollen wir wissen wie die funktion UDPOpenClient arbeitet? /*********************************************************************** *** Function: UDPOpenClient(IP_ADDRESS_TYPE addType, UDP_PORT remotePort, IP_MULTI_ADDRESS* remoteAddress) Summary: Opens a UDP socket as a client. Description: Provides a unified method for opening UDP client sockets. Precondition: UDP is initialized. Parameters: IP_ADDRESS_TYPE addType - The type of address being used. Example: IP_ADDRESS_TYPE_IPV4. UDP_PORT remotePort - UDP port to connect to. The local port for client sockets will be automatically picked by the UDP module. IP_MULTI_ADDRESS* remoteAddress - The remote address to be used. Returns: INVALID_SOCKET - No sockets of the specified type were available to be opened. Otherwise - A UDP_SOCKET handle. Save this handle and use it when calling all other UDP APIs. Remarks: IP_ADDRESS_TYPE_ANY is not supported! ************************************************************************ **/
Karl Heinz Buchegger schrieb: > du legst dir also so eine Struktur an > IP_MULTI_ADDRESS address; > sorgst dafür, dass die relevanten Werte in die jeweiligen Member des > address Objektes kommen Danke für den Hinweis, aber wie genau muß ich das jetzt für meine IP machen?
Sieh dir halt mal an, was sich hinter einem IP_MULTI_ADDRESS verbirgt. da wird eine Struktur dahinterstecken. Eventuell ein Array. Aber siehs dir an. Und dann geh und kauf dir ein C-Buch und arbeite es durch. Netzwerkprogrammiern wollen, aber die einfachsten Grundlagen der C Programmierung nicht kennen. Das kann was werden.
Karl Heinz Buchegger schrieb: > Das kann was werden. Die UDP-Verbindung steht jetzt und arbeitet einwandfei. Aber auch für Dich gibt es Themen, mit denen Du Dich besser einmal auseinander setzen solltest: http://tools.ietf.org/html/rfc1855
Siggi K. schrieb: > Aber auch für Dich gibt es Themen Ich glaube nicht, daß Du Karl Heinz irgendwelche Netiquette-Vorhaltungen machen solltest. Wirklich nicht.
Siggi K. schrieb: > Die UDP-Verbindung steht jetzt und arbeitet einwandfei. Das wird auch das einzige sein was funktioniert. Zumindest von den selbst geschriebenen Programmteilen. Wahrscheinlich besteht das ganze Programm nur aus geklauten (Tschuldigung, meinte kopierten) Softwarefragmenten. Und so jemand macht Karl Heinz von der Seite an, statt sich für die Hilfe ordentlich zu bedanken. So ein ... <Selbstzensur> Da ist ja Guttenberg fast symphatisch dagegen. Nachtrag: Nicht mal der Satz ist richtig, UDP ist ein VERBINDUNGSLOSES Protokoll ROFL
Wow. Du hast 7 Tage gebraucht um rauszufinden, was bei
1 | IP_MULTI_ADDRESS address; |
2 | |
3 | address...... = 192; |
4 | address...... = 168; |
5 | address...... = 17; |
6 | address...... = 255; |
7 | |
8 | UDPOpenClient( IP_ADDRESS_TYPE_IPV4, 19201, &address ); |
an die Stelle der Punkte gehört, bzw. ob es in deinem, mir unbekannten Framework, eine Funktion gibt, der du die Adresse zb als String übergeben kannst, und die genau diese 4 Anweisungen letzten Endes durchführt, und wirfst mir Unfreundlichkeit vor, weil ich nicht für dich 4 Stunden lang auf alle möglichen Arten google, um rauszufinden zu welchem Framework dieser Funktionsaufruf gehört? Wenn du schon Netiquette erwähnst. Es gehört auch zum guten Ton, dass man sein Framework nennt und wenn möglich einen Link zur betreffenden Doku postet. Denn weder mit IP_MULTI_ADDRESS noch mit UDPOpenClient wurde/wird google fündig. Und wenn dir weder mit der Funktionsdoku, noch mit dem zusätzlichen Hinweis klar ist, dass die IP Adresse irgendwie in das IP_MULTI_ADDRESS Objekt namens address rein muss, und du dazu wissen musst, was sich hinter IP_MULTI_ADDRESS verbirgt und wie es aufgebaut ist, dann bleibe ich bei meiner Aussage "Das kann was werden". Das sich Neulinge manchmal bei der Beurteilung einer Funktions-Argumentliste vertun und einen Pointer, den man da drinn sieht fehlinterpretieren, kommt schon mal vor - obwohl es eigentlich nicht vorkommen sollte, wenn man ein wenig praktisch gearbeitet hat und ganz speziell darf es eigentlich nicht mehr vorkommen, wenn man die Doku vor sich hat. Geb ich dir aber den Teil
1 | IP_MULTI_ADDRESS address; |
2 | |
3 | ....
|
4 | |
5 | UDPOpenClient( IP_ADDRESS_TYPE_IPV4, 19201, &address ); |
vor, damit klar ist, warum die Funktion da einen Pointer erwartet, dann erwarte ich eigentlich schon von jedem (auch von einem Neuling), dass er selbst in der Lage ist rauszufinden, was da jetzt dazwischen kommen muss. und zwar in weniger als in 7 Tagen und ohgne 5 mal nachfragen.
Jetzt läuft auch die TCP/IP-Verbindung mit den Verbindungsdaten, die über UDP ausgehandelt wurden.
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.