feat: F4.6g4 the Gnutella window, measured against Java's
GnutellaWindowRun uses Java's Gnutella window on terminal-net beside the line of GnutellaRun's story "search". The core cancels a search as Java does (every connection of the program's own requests closed, passed-on queries kept), lets the number of peers change and lists /peer2peer's files; the room takes the window's actions and sends its view; the editor shows Java's four tabs with Java's symbols. Not adopted from Java: a number of peers of one digit only, a results table that keeps the last search's rows, a files table that lags behind the folder. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -1565,3 +1565,36 @@ Gemessen (03.10.2026):
|
||||
je Verbindung einen eigenen `TCPSocket`. Javas Echo-Server verträgt keine
|
||||
sofort wieder geschlossene Verbindung (die folgenden laufen in die
|
||||
Zeitüberschreitung) — die Sonde hält sie eine halbe Sekunde.
|
||||
|
||||
### Gnutella (F4.6g4)
|
||||
|
||||
`GnutellaWindowRun` öffnet Javas `GUIApplicationPeerToPeerAnwendungWindow`
|
||||
auf dem ersten Rechner von `terminal-net`, neben der Kette aus
|
||||
`GnutellaRun`s Geschichte „search“ (.30 und 10.0.0.2 sind .31 beigetreten,
|
||||
.31 teilt `notizen.txt`, 10.0.0.2 „Lied der Woche.txt“), und benutzt es wie
|
||||
eine Person: Adresse (auch keine) und „Netz beitreten“, Suchbegriff mit
|
||||
„Suchen“ und „Stopp!“, ein Ergebnis gewählt und „Herunterladen“, „Liste
|
||||
leeren“, die Zahl der Teilnehmer mit „Speichern“ (auch keine Zahl), „Netz
|
||||
verlassen“. Javas Knöpfe hören auf `mousePressed`, die Felder prüfen bei
|
||||
`keyReleased` — die Sonde schickt beides. Je Schritt: was das Fenster zeigt
|
||||
(Adressfeld und ob es rot ist, die drei Tabellen, das Feld der Teilnehmer)
|
||||
und was das Programm hält (Zahl, Teilnehmer, Ergebnisse, Dateien von
|
||||
`/peer2peer`) (`packages/core/test/gnutellaWindow.java.json`).
|
||||
|
||||
Gemessen (03.10.2026):
|
||||
|
||||
* Das Adressfeld beginnt mit 192.168.0.1; keine Adresse wird rot, „Netz
|
||||
beitreten“ meldet dann „Dies ist keine gültige IP-Adresse“. Die eigene
|
||||
Adresse tut nichts. Das Feld der Teilnehmer zeigt die Zahl des Programms.
|
||||
* „Stopp!“ kurz nach „Suchen“: kein Treffer kommt an; eine neue Suche
|
||||
findet wieder. Ohne gewählte Zeile tut „Herunterladen“ nichts; ein zweites
|
||||
Herunterladen überschreibt die Datei.
|
||||
* „Netz verlassen“ leert die Nachbarn, nicht die Ergebnisse.
|
||||
* Javas Ungenauigkeiten:
|
||||
* Die Prüfung der Teilnehmerzahl (`musterNurZahl` = `\d`) nimmt nur eine
|
||||
Ziffer: 12 wird mit „Es sind nur Zahlen erlaubt!“ abgelehnt, 0 genommen.
|
||||
* Nach einer Suche ohne Treffer zeigt die Ergebnistabelle weiter die
|
||||
Ergebnisse der vorigen (das Programm hat keine mehr), bis etwas anderes
|
||||
das Fenster auffrischt.
|
||||
* Die Dateitabelle zeigt eine heruntergeladene Datei erst, wenn das
|
||||
Programm das nächste Mal Bescheid gibt; eine daneben angelegte gar nicht.
|
||||
|
||||
Reference in New Issue
Block a user