AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Eigenes P2P Netzwerk !

Ein Thema von goliath · begonnen am 2. Jun 2005 · letzter Beitrag vom 2. Jun 2005
Antwort Antwort
Seite 1 von 2  1 2      
goliath
(Gast)

n/a Beiträge
 
#1

Eigenes P2P Netzwerk !

  Alt 2. Jun 2005, 15:50
Hallo zusammen,

ich habe eine Frage. Ich möchte folgendes realisieren. Für meine Schule möchte ich ein School p2p network programm coden. Da in unserer Schule jeder mit nem lapi rumläuft ist das keine schlechte idee. Nun sollen da wenn jemand HA oder so gemacht hat. Derjenige kann dann in form von Dateien seine Projekte in diesem p2p zur Verfügung stellen. Die Rechner sind so gut wie immer online.

Jetzt kann ein anderer z.B. mit dem Clientprog. was suchen und findet vielleicht eine Lösung. Aus Sicherheitsgründen werden .exe Dateien verboten.


So nun meine Frage, wie realisiere ich es, dass es wie edonkey funktioniert ? Also dass man ein programm hat und man kann die datei downloaden, aber von dem user und nicht irgendwie von nem server, soll ja nicht wie ftp funzen.

Kann mir da jemand Tipps geben wie ich sowas lösen kann ? Habe Delphi 7 mit den Indy Komponenten.

danke.

bye,
goliath
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Eigenes P2P Netzwerk !

  Alt 2. Jun 2005, 16:06
Vielleicht hilft dir das hier weiter.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#3

Re: Eigenes P2P Netzwerk !

  Alt 2. Jun 2005, 16:11
Zitat von goliath:
Kann mir da jemand Tipps geben wie ich sowas lösen kann?
eDonkey / eMule sind Open-Source. Von daher kannst Du da ja mal in den Code reingucken wie die das gemacht haben.

Alternativ: In DirectX gibt es mit DirectPlay (so heisst glaube ich die Netzwerkfunktion von DirectX) schon eine ganze Menge an API-Material, das Du recht einfach verwenden kannst (inkl. kompletten P2P - Unterbau), ohne das Du das Protokoll selber schreiben musst, was meistens sehr Fehleranfällig ist. Such da mal im MSDN nach MSDN-Library durchsuchenDirectPlay.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
goliath
(Gast)

n/a Beiträge
 
#4

Re: Eigenes P2P Netzwerk !

  Alt 2. Jun 2005, 16:18
ne von directx möcht ich die finger von lassen, das habe ich schonmal probiert und nix gecheckt. Also es muss anders funzen.

Vielleicht gibt es ja Ideen wie man das anders lösen kann, ohne einen Server wo mans uppen muss.
  Mit Zitat antworten Zitat
Benutzerbild von freak4fun
freak4fun

Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

Re: Eigenes P2P Netzwerk !

  Alt 2. Jun 2005, 16:21
Zitat von goliath:
Vielleicht gibt es ja Ideen wie man das anders lösen kann, ohne einen Server wo mans uppen muss.
P2P ohne Server , das zeig mir mal.
Sieh dir mal den Link von Matze an, das sieht gut aus für den Anfang.
Oder poste mal wie du dir das Vorgestellt hast.

MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
  Mit Zitat antworten Zitat
Benutzerbild von Ultimator
Ultimator

Registriert seit: 17. Feb 2004
Ort: Coburg
1.860 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Eigenes P2P Netzwerk !

  Alt 2. Jun 2005, 16:24
Ne Überlegung:
Wenn sich ein Client einschaltet, dann sendet er per UDP-Server einen Broadcast in Netzwerk an eurer Schule.
Daraufhin senden alle PCs, die diesen empfangen, eine Liste mit den auf ihnen enthaltenen (freigegebenen) Dateien an den neu angemeldeten (mit eigener IP). Wenn nun der Benutzer eine Date auswählt, schickt der Client dem PC eine Nachricht, der die Datei "hat". Daraufhin öffnet einer der beiden einen TCP-Server und einer einen TCP-Client und die Dateiübertragung beginnt.

Nur so ne Idee
Julian J. Pracht
  Mit Zitat antworten Zitat
Benutzerbild von ste_ett
ste_ett

Registriert seit: 10. Sep 2004
Ort: Dülmen
464 Beiträge
 
Delphi 7 Professional
 
#7

Re: Eigenes P2P Netzwerk !

  Alt 2. Jun 2005, 16:27
Du musst die Datei in Stücke zerlegen, entweder in N Teile, oder in X Byte, das ist dir überlassen.

Wenn du einen zentralen Server hast, dann musst der speichern, wer alles diese Datei hat, ggf. anfragen beim Client, und dann die IPs zu dem einen Client schicken, damit dieser sich dann verbinden kann.

Wenn du ohne Server arbeitest, musst du die IPs einzeln durchgehen (IPs musst du natürlich kenen, bzw. von Deiner auf die Anderen schliessen) und versuchen dich auf Port xy zu verbinden; ggf. prüfen, ob es wirklich ein Client für das P2P-Netz ist, z.B. über einen kurzen Befehlsaustausch.

Jeder Client führt für sich eine Liste, welche Dateien er an welche IP versenden muss. Dann musst du dir einen Ablauf überlegen, wie Daten verschickt werden (z.B. Priorität, Vorrang von kleinen Dateien vor Großen).

Transfer sollte über TCP erfolgen, um eine gewisse Sicherheit zu gewährleisten.

Die einzelnen Teile sollten natürlich gekennzeichnet werden, damit mann sie identifizieren kann.
Z.B. so:
[Nummer des Dateifragments][Hashwert des Fragments(für Prüfung des Fragments)][Hashwert der gesamten Datei(für Prüfung, wenn der Transfer komplett ist)][Name der Datei][Inhalt des Fragments]


Das ist so ganz grob der Aufbau.
Stefan
"Geht nicht!" ist keine Fehlerbeschreibung und "Hab ich schon versucht!" keine Antwort!

Hey, it compiles! Ship it!
  Mit Zitat antworten Zitat
goliath
(Gast)

n/a Beiträge
 
#8

Re: Eigenes P2P Netzwerk !

  Alt 2. Jun 2005, 16:44
also sind schon gute Vorschläge dabei. Das ganze sollte auch für mich einfach umzusetzen sein.

Ich stelle mir das praktisch so vor.

1 Server steht bereit im Netz.

Wenn nun ein Clientprogramm gestartet wird, wird vom Server eine Liste mit den freigegebenen Dateien geholt.
Wenn man dann eine Datei anklickt wird diese gedownloadet.

Jetzt ist die Frage. Was ist wenn in der Schule der Server läuft, ich aber von zu Hause was brauche bzw. online stelle ?

Die IP Adresse ändert sich doch immer, somit geht das dann wieder nicht, oder habe ich da einen Denkfehler ?

danke.

bye,
goliath
  Mit Zitat antworten Zitat
PierreB
(Gast)

n/a Beiträge
 
#9

Re: Eigenes P2P Netzwerk !

  Alt 2. Jun 2005, 17:09
Zitat:
P2P ohne Server , das zeig mir mal.
Was ? Natürlich geht das. P2P Software wie KaZaA laufen doch auch ohne Server. Jeder Client stellt da einen Server dar und es lassen sich die Dateien gleich von dem anderen Clienten downloaden (Kommt drauf an welche Dateien er freigegeben hat).
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#10

Re: Eigenes P2P Netzwerk !

  Alt 2. Jun 2005, 17:33
Zitat von freak4fun:
P2P ohne Server , das zeig mir mal.
Gerne: Klick

@goliath: Warum nehmt ihr kein VPN mit Samba-Shares? Dann kann jeder Client sogar das Betriebssystem benutzen, das er möchte, und auf die Art und Weise seine Dateien zur Verfügung stellen, die er mag. Und durch die VPN-Eigenschaften wäre sogar eine Einwahl über das Internet , also von zuhause aus, möglich.
Ansonsten kannst du doch auch ein bereits vorhandenes P2P-Netzwerk benutzen. Zum Beispiel indem du einen privaten BitTorrent-Tracker einrichtest, auf den man von außerhalb eures Schulnetzwerkes keinen Zugriff hat. Der Vorteil der Plattformunabhängigkeit besteht auch hier.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz