tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
535
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    jupp2oo8 jupp2oo8 ist offline Mitglied Bronze
    Registriert seit
    Jan 2008
    Beiträge
    43
    Hi.
    Kann mir jemand sagen, was die Parameter bei
    SendBuf(void *, int, int)
    (Send Buffer per TCP/IP zB) bedeuten sollen, also wofür sie stehen?
    Hab im Internet den Befehl mit zwei Parametern gefunden, da stand der erste für den Buffer, der übertragen werden soll und das zweite für die Größe dieser Daten.
    Aber wofür könnte hier nun der 3. Parameter stehen?

    Und was bedeutet void * eigentlich?
     

  2. #2
    Avatar von Ryu1991
    Ryu1991 Ryu1991 ist offline Mitglied Gold
    Registriert seit
    Dec 2007
    Beiträge
    241
    Deine erste Frage kann ich dir nicht beantworten, aber das void* bedeutet, dass du einen Zeiger eines Beliebigen Typs übergeben kannst, du musst ihn dann nur casten, also das Parameter sieht dann so aus: SendBuf((char*)Name,int,int) oder SendBuf((int*)Zahl,int,int)
     
    "2 Dinge sind Unendlich, die Menschliche Dummheit und das Universum, bei 2tem bin ich mir noch nicht ganz sicher", Albert Einstein
    "Wenn man keine Ahnung hat, einfach mal Fresse halten", Dieter Nuhr

  3. #3
    jupp2oo8 jupp2oo8 ist offline Mitglied Bronze
    Registriert seit
    Jan 2008
    Beiträge
    43
    Also wenn ich dich richtig verstehe, so zum Beispiel:
    SendBuf((TCPMessage*)TCPMessage1, sizeof(TCPMessage),sizeof(TCPMessage).
    Am Anfang des Programms ist aber schon TCPMessage *TCPMessage1 definiert.
    So kommt aber Fehlermeldung: "Ungültige Verwendung von typedef 'TCPMessage'.

    Komischerweise bekomme ich nur dann keine Fehlermeldung wenn ich schreibe:
    SendBuf(&TCPMessage1, sizeof(TCPMessage),sizeof(TCPMessage).
    Also die Adresse übergebe.
    Verstehe ich nicht...
    Ich hoffe, er versucht dann nicht nur die Adresse zu übertragen, sondern wirklich den Inhalt vom Buffer.


    Das Senden an sich klappt aber eh noch nicht. Glaube es ist noch nicht die richtige Funktion. TCP Client und Server verbinden sich und der Server lauscht, aber der Client kann nichts schicken, laut Fehlermeldung (WSAEOPNOTSUPP: Operation is not supported for the type of object referenced, Code 10045.)
    Geändert von jupp2oo8 (29.04.08 um 11:22 Uhr)
     

  4. #4
    jupp2oo8 jupp2oo8 ist offline Mitglied Bronze
    Registriert seit
    Jan 2008
    Beiträge
    43
    So, habe mittlerweile rausgefunden, was die Parameter verlangen:

    SendBuf(void * Buf, int BufSize, int Flags).

    Wenn mir jetzt noch jemand sagen könnte, was mit den Flags gemeint ist...
     

  5. #5
    Avatar von Ryu1991
    Ryu1991 Ryu1991 ist offline Mitglied Gold
    Registriert seit
    Dec 2007
    Beiträge
    241
    Ich habe keine Ahnung, was Flags sind, aber in solchen fällen probiere ich es immer mit NULL als Parameter, klappt öfter als man es erwartet.
     
    "2 Dinge sind Unendlich, die Menschliche Dummheit und das Universum, bei 2tem bin ich mir noch nicht ganz sicher", Albert Einstein
    "Wenn man keine Ahnung hat, einfach mal Fresse halten", Dieter Nuhr

  6. #6
    jupp2oo8 jupp2oo8 ist offline Mitglied Bronze
    Registriert seit
    Jan 2008
    Beiträge
    43
    Das habe ich mir auch gedacht...
    Also der Client sendet jetzt wirklich was mit SendBuf, das kann man mit einem TCP-Sniffer gucken.
    Bloß der Server will es noch nicht empfangen. Er ist im listening status, aber weiter passiert nichts.
     

  7. #7
    jupp2oo8 jupp2oo8 ist offline Mitglied Bronze
    Registriert seit
    Jan 2008
    Beiträge
    43
    function SendBuf(var Buf; BufSize: Integer; Flags: Integer = 0): Integer;

    Hab die Lösung: Flags bleibt einfach 0 .
     

Ähnliche Themen

  1. const void *
    Von ubok im Forum VisualStudio & MFC
    Antworten: 2
    Letzter Beitrag: 02.07.10, 12:18
  2. C++: void oder int?
    Von Acriss im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 23.07.07, 10:51
  3. void Pointer
    Von Norbert Eder im Forum C/C++
    Antworten: 4
    Letzter Beitrag: 21.09.06, 18:09
  4. Antworten: 0
    Letzter Beitrag: 22.11.05, 16:31
  5. _beginthread und void*
    Von unmatrix im Forum VisualStudio & MFC
    Antworten: 3
    Letzter Beitrag: 04.10.05, 16:23