Net Share



  • ob nun über internet oder im lan P2P bleibt P2P. Es soll plattformunabhängig sein und Dev C++ ist krine pflicht. C wird aber wegen der Plattformunabhängigkeit bleiben was hattest du dir den vorgestellt ??



  • decola schrieb:

    Dev C++ ist krine pflicht.

    Tja es ist leider so. dev-c++ macht anstatt tabs z.b. 4 leerzeichen, betrachte das mal mit vc++. das ist so grässlich und es lässt sich nicht gescheit bearbeiten. hast du dir denn schon mal vc++ 8.0 (express) angeschaut? ich finde es gibt derzeit keine bessere IDE.

    decola schrieb:

    C wird aber wegen der Plattformunabhängigkeit bleiben was hattest du dir den vorgestellt ??

    das hat (fast) nichts mit plattformunabhängigkeit zu tun, ich hatte mir halt c++ vorgestellt. ich finde damit lassen sich größere projekte wesentlich übersichtlicher gestalten.

    was ist denn mit dem protokoll? hast du das bisher nur im kopf oder auch irgendwie schriftlich damit man sich das mal anschauen kann? wie ich gesehen habe versucht du anscheinend eine datei auszusplitten und die teile mit hashes zu versehen. soll das wie tiger-tree-hashes ablaufen, oder was komplett eigenes???



  • Tja es ist leider so. dev-c++ macht anstatt tabs z.b. 4 leerzeichen, betrachte das mal mit vc++. das ist so grässlich und es lässt sich nicht gescheit bearbeiten. hast du dir denn schon mal vc++ 8.0 (express) angeschaut? ich finde es gibt derzeit keine bessere IDE.

    Ja richtig das nervt mich auch.

    das hat (fast) nichts mit plattformunabhängigkeit zu tun, ich hatte mir halt c++ vorgestellt. ich finde damit lassen sich größere projekte wesentlich übersichtlicher gestalten.

    ich meine das ist anders aber gut. Außerdem versteh ich C++ nicht. Außerdem ist es einfacher ein Programm von C nach C++ umzuschreiben einfacher als umgekehrt.

    was ist denn mit dem protokoll? hast du das bisher nur im kopf oder auch irgendwie schriftlich damit man sich das mal anschauen kann? wie ich gesehen habe versucht du anscheinend eine datei auszusplitten und die teile mit hashes zu versehen. soll das wie tiger-tree-hashes ablaufen, oder was komplett eigenes???

    das schreib ich ins forum, aber nur für regestrierte weil das nicht jeder sehen muss. kannst dich ja mal anmelden und deinen senf dazu geben ^^ ^^ ^^



  • decola schrieb:

    das hat (fast) nichts mit plattformunabhängigkeit zu tun, ich hatte mir halt c++ vorgestellt. ich finde damit lassen sich größere projekte wesentlich übersichtlicher gestalten.

    Außerdem ist es einfacher ein Programm von C nach C++ umzuschreiben einfacher als umgekehrt.

    Gleich in C++ zu schreiben ist sicher schlauer als es erst in C zu schreiben, und es dann umzuschreiben....



  • Gleich in C++ zu schreiben ist sicher schlauer als es erst in C zu schreiben, und es dann umzuschreiben....

    Ja du hast recht.

    Ab jetzt wird das Programm in C++ geschrieben.



  • @rapso: ist das wirklich so, das machne Firmen so ein Programm verwenden könnten. Gibt es in diese Richtung nichts gescheites? Würde mich eigentlich wundern...



  • @yogle nein das ist nicht der fall (sonst würde ich ja sowas nicht schreiben). Man kann sich zwar per torrent emule und co. was "bauen", was aber nichts bringt da diese Programm (wie ich selbst erfaren musste) für soetwas nicht geeignet (oder besser geschrieben) sind.



  • decola schrieb:

    Gleich in C++ zu schreiben ist sicher schlauer als es erst in C zu schreiben, und es dann umzuschreiben....

    Ja du hast recht.

    Ab jetzt wird das Programm in C++ geschrieben.

    D.h. ich bin raus 😉



  • Warum bist du raus? Wenn du "nur" C kannst kannst du ja auch einfach ein paar funktionen schreiben und am Protokoll mitwirken. Ich schreib ja (auch) erst seit kurzer zeit in C++ 😉



  • Ich halte deine/eure Idee gemeinsam etwas größeres zu programmieren für sehr gut, denn nur so kann man Erfahrung sammeln, aber es scheint mir so, als hättet ihr alle noch so gut wie keine große Erfahrung in C++. Das könnte euch evtl. zum Verhängnis werden. Ihr müsst euch in jedenfall in die Materie Netzwerkprogrammierung einlesen. Zum Protokoll: Am besten du schreibst dir erstmal den Ablauf einer Sitzung auf und postest dieses Beispiel, was alle Befehle/Möglichkeiten anschaulich zeigt hier.
    Dann kann man gemeinsam drüber diskutieren, was man besser machen kann, was überflüssig ist oder was einfach noch fehlt. Denn ich würde mich nicht dafür extra noch bei euch im Forum anmelden! Außerdem sind hier im Forum viel mehr Leute und Quelloffenheit hat sich schon öfters als SEHR GUT bewiesen.

    In dem Sinne viel Erfolg und, wenn ihr eine GUI nehmt, dann eine Plattformunabhängige. Schaut dazu einfach mal bei den Artikeln rein!

    Viele Grüße,
    Patrick



  • Es wird bald einen entsprechenden post hier geben (dauert dann aber halt ein bisschen). Danke für die Anregungen.



  • yogle schrieb:

    @rapso: ist das wirklich so, das machne Firmen so ein Programm verwenden könnten. Gibt es in diese Richtung nichts gescheites? Würde mich eigentlich wundern...

    Bisher kenn ich auch nichts was die sache effizient und unkompliziert machen wuerde. man kann zwar mit rsync gut arbeiten, aber das senkt nicht gerade die netzwerk-last am server.
    ich denke mir dass man, wenn man weiss wie die rechner mit den switches verbunden sind, lokal (also alle rechner die am selben switch sind) die daten mit voller bandbreite verteilen lassen kann und somit die verbindung direkt am server nicht am limit halten muss waehrend an den enden sehr langsam die daten ankommen.

    wenn dann noch diff und compression dabei waere wie bei rsync, waere das ziemlich geil :).

    btw. das gilt auch fuer einen firmen messenger wie msn/icq ;).
    da gibt es zwar ein paar, aber die sind sehr "arm".



  • *doppelpost*



  • So stell ich mir eine Download Sitzung vor.

    Programm starten.
    Boadstrap Broadcast senden.
    Auf antwort warten und mit antwortenden Peer verbinden.
    Peer nach der adresse des Suchserver fragen.
    Mit Suchserver verbinden und dort die geshareten Datein regestrieren.
    Danach die Adresse des Datei Trackers rausfinden.
    Mit dem Datei Tracker verbinden und dort die Dateifragmente die man hat regestrieren.
    Den Tracker Nach Quellen für die (eigenen) Downloads fragen.
    Mit Quellen verbinden.
    Liste der benötigten Dateifragmente an die Quellen senden.

    [schleife]
    Dateifragmente von der/n Quelle(n) empfangen.
    Daten hashen.
    Daten schreiben.
    Fertige fragmente hoch zu anderen peers schicken.
    [schleife ende]

    Programm beenden.

    Also eine Kombi von Bittorrent, Gnutella2 und EDonkey.


Anmelden zum Antworten