Hi,
ich weiss nicht ob das wirklich das richtige Unterforum ist. Im Zweifelsfalle bitte verschieben.
Ich versuche zur Zeit ein wenig hinter das Protokoll zu steigen und habe mir diesbezüglich auch ein wenig den Quellcode als auch ein paar Protokollspezifkationen (unter anderem unter http://www.cs.huji.ac.il/labs/danss/p2p/resources/emule.pdf - ich weiss, das ist schon ein wenig veraltet) angeschaut.
Offen bleibt mir aber noch immer eine Frage. Wie findet der Client eigentlich seine Quellen?
Laut den Opcodes im Quellcode gibt es da m.E. mehrere Möglichkeiten.
1. Einmal über die bestehende TCP Connection mit dem Server per OP_GETSOURCES (0x19) und der passenden Antwort OP_FOUNDSOURCES (0x42).
2. Einmal über eine UDP Nachricht an beliebige Server. Da gibt es zum einen die alte Version OP_GLOBGETSOURCES (0x9a) und OP_GLOBGETSOURCES2 (0x94) und der dementsprechenden Antwort OP_GLOBFOUNDSOURCES (0x9b).
3. Wenn ich das richtig verstanden habe, können dann auch noch Clients untereinander mit OP_REQUESTSOURCES (0x81) & OP_ANSWERSOURCES (0x82)
Das Problem ist nun: Wenn ich mal eine Session per Wireshark mitsniffe ist nix zu sehen von diesen Nachrichten. Nichtsdestotrotz habe ich aber sofort etliche Quellen für meine gewünschten Downloads. Wie kann das sein?
Hat da irgendeiner eine Erklärung für? eMule v0.48a - Standardinstallation - Läuft auch alles normal soweit.