Zum Inhalt springen

PuppetMaster

Mitglieder
  • Gesamte Inhalte

    108
  • Benutzer seit

  • Letzter Besuch

Beiträge von PuppetMaster

  1. Hiho!

    Du kannst auch hin gehen und die Executable so erstellen, das du nicht mehr extra alle dateien zusammensuchen musst.

    Geh dafür unter Projekt->Optionen

    Dann auf den Reiter [Packages] und mach das Häkchen vor "Buil with Runtime Packages" weg;

    Dann noch auf den Reiter [Linker] und dort das Häkchen vor "Use dynamic RTL" weg machen

    Voila! Damit sollte es auch laufen :D

  2. Original geschrieben von Guybrush Threepwood

    Im Moment bin ich wieder bei der Variante die bisher abgelaufene Zeit durch

    die bisher kopierten Zeichen zu teilen (dann hab ich die Zeit pro Zeichen) und

    das dann mal die Anzahl aller Zeichen zu multiplizieren.

    Also evtl klappt ja mein Ansatz, ich habs nur mal so grob durchdacht: :rolleyes:

    Miss mal die Anzahl der Zeichen die in einer Sekunde bei dir eintreffen und Teile die Gesamtgröße durch diese Anzahl. So müsstest du doch auf einen relativ exakten wert kommen. Den vorgang kannst du ja dann alle 10s oder so, wiederholen um die Dauer bei steigender/sinkender Rate anzupassen.

    Ich hoffe das hilft etwas :D

  3. Original geschrieben von Gringorius

    Was ist STL und std::queue? Kannst du das kurz erklären? Wenns nicht zu lange dauert ;-)

    Die STL ist die Standard Template Library. Sie enthält eine ganze Menge an Container-Klassen die einem schon so manches Problem nehmen. Ich hab hier mal nen link dazu

    STL-Beschreibung

  4. Hi Leute!

    Ich weiß nicht ob ich hier richtig bin, aber ich dachte Netzwerk-Technologie da könnte das sein was ich suche.

    Kennt jemand von euch Bücher die sich um POP3, SMTP, IMAP usw drehen?? Wenn ja wäre es nett wenn ihr mir die Titel nennen könntet!

    Danke im Vorraus!!!:D

  5. Moin Leutz!

    Ich hab hier ein Problem bezüglich Sockets. wenn ich das accept() aufrufe hält mein Prog an und lässt nichts mehr mit sich machen. Ich muss es dann immer abbrechen und ich weiß nicht warum. :( Ich bekomm nicht mal ne Fehlermeldeung!!! Weiterhin schreibt mir das Prog auch nichts mehr in meine Listbox. Wenn ich aber mit Haltepunkten arbeite und schritt für schritt durchgehe, dann zeigt er mir die Ausgaben an.Warum? Keine Ahnung *ratlosbin* :confused:

    Hier mal der Hauptteil von meinem Code:


    void MySniffer::lookforip(void)
    {
    int len = sizeof(sockaddr_in);
    int len2 = sizeof(sockaddr);
    int option_flag;

    //Socket wird auf Lokalen Server gebunden, bei Fehlschlag gib den Error aus
    if(bind(ServerSocket, (sockaddr*)&ServerSAddr, sizeof(ServerSAddr)) == SOCKET_ERROR)
    {
    Form1->ListBox1->Items->Add("Binding Socket failed: " + (AnsiString)WSAGetLastError());
    return;
    }

    //Socket-Optionen werden festgelegt
    if(setsockopt(ServerSocket, SOL_SOCKET, SO_REUSEADDR, (char*)&option_flag, sizeof(option_flag)*2) == SOCKET_ERROR)
    {
    Form1->ListBox1->Items->Add("Setting Socket-Options failed: " + (AnsiString)WSAGetLastError());
    return;
    }

    //Port wird abgehört, bei Fehlschlag gib den Error aus
    if(listen(ServerSocket, 5) == SOCKET_ERROR)
    {
    Form1->ListBox1->Items->Add("Listening on Socket failed: " + (AnsiString)WSAGetLastError());
    return;
    }

    //Endlosschleife
    for(;
    {
    //bei Anfrage akzeptiere Verbindung
    ClientSocket = accept(ServerSocket, (sockaddr*)&ClientSAddr, &len);

    //wenn der ClientSocket nicht erstellt werden konnte gib den Error aus
    if(ClientSocket == INVALID_SOCKET)
    {
    Form1->ListBox1->Items->Add("Initializing Client-Socket failed: " + (AnsiString)WSAGetLastError());
    break;
    }

    //Ausgabe des Remote-Hostnamens, bei Fehler gib den Error aus
    if(getpeername(ClientSocket, (sockaddr*)&ClientSAddr, &len2) == SOCKET_ERROR)
    {
    Form1->ListBox1->Items->Add("Getting Peername of Client-Socket failed: " + (AnsiString)WSAGetLastError());
    }
    else
    {
    IP = inet_ntoa(ClientSAddr.sin_addr);
    Form1->ListBox1->Items->Add(IP);
    }
    Sleep(1000);
    }
    }
    [/php]

    P.S. das Ganze befindet sich in einer Klasse die ich geschrieben hab; der ServerSocket wird in einer anderen Methode initialisiert

    Ich hoffe ihr könnt mir helfen?

    Danke!

  6. Hi Leute!

    Ich hab im BCB 5 eien Prog geschrieben, das mir die IP von einem Remote-Rechner ausgeben soll. Beim Ausführen kam dann aber ein Fehler, der besagt hatt, dasss ich einen bereits benutzten Port mehrfach anspreche. Fehler 10048. :(

    Ich hab in der Hilfe nachgeguckt und dann gelesen das ich da noch was einstellen muss, nämlich die Option zum ReUse. Aber das läuft über ne funktion namens "setsockopt()".

    Kann ich das denn nicht über die Kompo von TServerSocket einstellen???

  7. Hi Leutz!

    Kann mir vielleicht jemand sagen warum mein Prog immer abstürtzt beim ausführen?? Ich hab ein Prog im Borland Builder geschrieben, das mit TServerSocket arbeitet. Aber wenn ich von dem TServerSocket die Eigenschaft "Active" auf true setzte, schmiert er ab.

    Ich hab das Active im Konsturktor der Form und schon so über den Objektinspektor auf true gesetzt, beides das gleiche Ergebnis: er schmiert ab.

    Dabei steht in der Hilfe aber das ich das so machen kann.

  8. Hi Leute, nochmal ich!

    Ich habe mittlerweile mein erstes Problem (ebenfalls hier im Forum zu lesen) bewältigt und versuche nun verzweifelt rauszufinden, wie ich nach einem "accept", also wenn die verbindung steht, die IP Adresse und die Daten die er oder ich senden rauszubekommen.

    meinen Code an der Stelle wo ich die Die Dten auslesen möchte poste ich mal hier!

    
       for(int i = 0; i<=this->portanz; i++)
    
       {
    
          this->s = WSASocket(AF_INET, SOCK_STREAM, IPPROTO_TCP, 0, 0, 0);
    
          pSa.sin_port = htons(i);
    
    
          if(bind(this->s,(sockaddr*)&pSa, sizeof(pSa)) != SOCKET_ERROR)
    
          {
    
             Form1->ListBox1->Items->Add("Verbinde zu Port:" + (AnsiString)i);
    
    
             if(listen(this->s, SOMAXCONN) != SOCKET_ERROR)
    
             {
    
                Form1->ListBox1->Items->Add("Lausche an Port:" + (AnsiString)i);
    
    
                if(accept(this->s, (sockaddr*)&pSa, (int*)sizeof(pSa)) != INVALID_SOCKET)
    
                {
    
                   Form1->ListBox1->Items->Add("Verbindung hergestellt zu Port: " + (AnsiString)i);
    
                }
    
                else if(accept(this->s, (sockaddr*)&pSa, (int*)sizeof(pSa)) == INVALID_SOCKET)
    
                {
    
                   Form1->ListBox1->Items->Add((AnsiString)WSAGetLastError());
    
                }
    
             }
    
             else
    
             {
    
                Form1->ListBox1->Items->Add((AnsiString)WSAGetLastError());
    
             }
    
          }
    
          else
    
          {
    
             Form1->ListBox1->Items->Add((AnsiString)WSAGetLastError());
    
          }
    
    
          shutdown(this->s, SD_BOTH);
    
          Form1->ListBox1->Items->Add("Geschlossen");
    
       }
    
    

    
    
    						
  9. Moin Leutz!

    Also ich würde gern ein Programm schrieben das meine IP überwacht, soll heißen, das protokolliert welche daten ich gesendet hab, welche ich empfange, wer sendet und wohin usw...

    Aber ich hab überhaupt keien anhaltspunkt wie ich das machen soll. Könnt ihr mir evtl helfen??

  10. Hi Leute!

    Ich schreibe zur zeit ein Programm zum dokumentieren von cpp dateien, like cppdoc oder javadoc.

    Jetzt steh ich aber vor dem Problem, das ich nicht weiß, wie ich eine Datei am effektivsten durcharbeiten kann. Ich dachte anfangs ich könnte sie ja ganz einlesen, also die komplette datei in ein Array und dann halt zeichenweise oder nach Leerzeichen suchen usw. Oder aber Zeilenweise, und dann halt wieder bis zum nem bestimmten punkt und dann bis dahin alles rausholen.

    Aber ich finde das ist halt noch ne ecke zu umständlich und darum frage ich jetzt hier mal nach.

  11. Originally posted by Guybrush Threepwood

    Du könntest einfach den system() Befehl benutzen

    Ich weiß, aber es muss doch eine Möglichkeit geben das ganze ohne DOS hinzubekommen. Was mich ahlt an system() noch stört ist das das DOS-Fenster zusehn und wenn's nur ne Milisekunde ist.

  12. Hi Zusammen!

    Ich wollte mal fragen ob jemand weiß, wie ich unter Borland in nem Programm nen Ordner erstellen kann.

    Oder Etwas genauer, ich schreibe ein Programm in dem Ich den Pfad der geöffneten Datei auslese und dann dort einen neuen ordner erstellen möchte, finde aber einfach nichts dazu... :confused:

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...