Lost in Thread...

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
alfware17
Beiträge: 254
Registriert: Di 14. Dez 2010, 23:27

Lost in Thread...

Beitrag von alfware17 »

Hallo, ich habe eine kleine Datenübertragung, die ich bisher(!) jeweils in Python, Lazarus und Java durchziehen konnte, auch untereinander. Es gibt einen Empfänger (Server) und es kann mehrere Sender (Clients) geben. Die Clients lesen Textdateien und schicken das was sie da finden an den Server. Der gibt das aus (später soll mit den Parametern mal eine Verarbeitung stattfinden). Bisher lief das relativ gesittet, weil zwar asynchron aber nur 1:1, sprich jeder Satz den so ein Sender schickt, löste genau eine Aktion beim Empfänger aus und es ging obwohl die alle unterschiedliche Takte haben konnten.

Nun habe ich einen Parameter ANZ ergänzt, de bestimmt, daß die Aktion die der Sender schickt, beim Empfänger mehrmals ausgeführt werden soll. Nun kommt der natürlich nicht hinterher und die Aktionen müssen in einer Queue gepuffert werden. Wenn die Sender fertig sind oder wenn der Empfänger frei ist, kann der das ja aufarbeiten. Das System funktioniert (soweit ich es beurteilen kann) in Python recht gut - System anbei. In Java auch - System anbei.

Nun mein Problem - in Lazarus mußte ich einiges extra neu schreiben und habe mich dabei anscheinend vertan, vielleicht ist die Queue, vielleicht auch was anderes. Jedenfalls zum Programmende bekomme ich eine Accessviolation, weil mein "C" die ClientData anscheinend nicht mehr gültig sind. Und die Verarbeitung, Ausgabe "Spruch" hat zwar noch die query aber schon nicht mehr die IP-Adresse also da ist was faul, aber was? Mein Algorithmus scheint in Python/Pascal zu funktionieren, aber was habe ich in Pascal nicht bedacht/falsch umgesetzt?
Vielleicht kann jemand etwas sehen - ich bin langsam betriebsblind.

Hier das Protokoll.

Code: Alles auswählen

Startprogramm aktiv.
Empfänger Pascal läuft...
Sender Pascal  läuft...
[S Pa] verbunden mit Empfänger
[S Pa] Datei geöffnet: eingabe.txt Streaming-Modus aktiv
[S Pa] [CLOCK] 14:46:54
[E Pa] verbunden mit 127.0.0.1:65299
[S Pa] [CLOCK] 14:46:55
[S Pa] [CLOCK] 14:46:56
[S Pa] [CLOCK] 14:46:57
[S Pa] [CLOCK] 14:46:58
[S Pa] [READ] Zeile gelesen # ANZ=3 #
[S Pa] [STATE] ID=1 ANZ=3 MINQ=0 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=
[S Pa] [SEND] (4,0s) -> { "ID" : 1, "anz" : 3, "minQuelle" : 0, "maxQuelle" : 0, "von" : 0, "bis" : 0, "kategorie" : 0, "nummer" : 0, "suche" : false, "stichwort" : "", "kurz" : false, "richtung" : true, "zufall" : false, "vorgaenger" : -1 }
[E Pa] [EMPF 127.0.0.1:65299] Neuer Zustand: ID=1 ANZ=3 MINQ=0 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=
Spruch [127.0.0.1:65299] (1/3) -> ID=1 ANZ=3 MINQ=0 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=
[S Pa] [CLOCK] 14:46:59
Spruch [127.0.0.1:65299] (2/3) -> ID=1 ANZ=3 MINQ=0 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=
[S Pa] [CLOCK] 14:47:00
Spruch [127.0.0.1:65299] (3/3) -> ID=1 ANZ=3 MINQ=0 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=
[S Pa] [CLOCK] 14:47:01
[S Pa] [READ] Zeile gelesen # RICHT=N ANZ=6 #
[S Pa] [STATE] ID=2 ANZ=6 MINQ=0 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=False KURZ=False SUCH=False WORT=
[S Pa] [SEND] (3,0s) -> { "ID" : 2, "anz" : 6, "minQuelle" : 0, "maxQuelle" : 0, "von" : 0, "bis" : 0, "kategorie" : 0, "nummer" : 0, "suche" : false, "stichwort" : "", "kurz" : false, "richtung" : false, "zufall" : false, "vorgaenger" : -1 }
[E Pa] [DIFF 127.0.0.1:65299]:
ID: 1 <> 2
Anz: 3 <> 6
Richtung: True <> False
[E Pa] [EMPF 127.0.0.1:65299] Neuer Zustand: ID=2 ANZ=6 MINQ=0 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=False KURZ=False SUCH=False WORT=
Spruch [127.0.0.1:65299] (1/6) -> ID=2 ANZ=6 MINQ=0 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=False KURZ=False SUCH=False WORT=
[S Pa] [CLOCK] 14:47:02
[S Pa] [READ] Zeile gelesen # MINQ=5 RICHT=N ANZ=3 #
[S Pa] [STATE] ID=3 ANZ=3 MINQ=5 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=False KURZ=False SUCH=False WORT=
[S Pa] [SEND] (1,0s) -> { "ID" : 3, "anz" : 3, "minQuelle" : 5, "maxQuelle" : 0, "von" : 0, "bis" : 0, "kategorie" : 0, "nummer" : 0, "suche" : false, "stichwort" : "", "kurz" : false, "richtung" : false, "zufall" : false, "vorgaenger" : -1 }
[E Pa] [DIFF 127.0.0.1:65299]:
ID: 2 <> 3
Anz: 6 <> 3
MinQuelle: 0 <> 5
[E Pa] [EMPF 127.0.0.1:65299] Neuer Zustand: ID=3 ANZ=3 MINQ=5 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=False KURZ=False SUCH=False WORT=
Spruch [127.0.0.1:65299] (2/6) -> ID=2 ANZ=6 MINQ=0 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=False KURZ=False SUCH=False WORT=
[S Pa] [CLOCK] 14:47:03
Spruch [127.0.0.1:65299] (3/6) -> ID=2 ANZ=6 MINQ=0 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=False KURZ=False SUCH=False WORT=
[S Pa] [CLOCK] 14:47:04
Spruch [127.0.0.1:65299] (4/6) -> ID=2 ANZ=6 MINQ=0 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=False KURZ=False SUCH=False WORT=
[S Pa] [CLOCK] 14:47:05
[S Pa] [READ] Zeile gelesen # RICHT=Y ANZ=3 #
[S Pa] [STATE] ID=4 ANZ=3 MINQ=5 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=
[S Pa] [SEND] (3,0s) -> { "ID" : 4, "anz" : 3, "minQuelle" : 5, "maxQuelle" : 0, "von" : 0, "bis" : 0, "kategorie" : 0, "nummer" : 0, "suche" : false, "stichwort" : "", "kurz" : false, "richtung" : true, "zufall" : false, "vorgaenger" : -1 }
[E Pa] [DIFF 127.0.0.1:65299]:
ID: 3 <> 4
Richtung: False <> True
[E Pa] [EMPF 127.0.0.1:65299] Neuer Zustand: ID=4 ANZ=3 MINQ=5 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=
Spruch [127.0.0.1:65299] (5/6) -> ID=2 ANZ=6 MINQ=0 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=False KURZ=False SUCH=False WORT=
[S Pa] [CLOCK] 14:47:06
Spruch [127.0.0.1:65299] (6/6) -> ID=2 ANZ=6 MINQ=0 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=False KURZ=False SUCH=False WORT=
[S Pa] [CLOCK] 14:47:07
Spruch [127.0.0.1:65299] (1/3) -> ID=3 ANZ=3 MINQ=5 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=False KURZ=False SUCH=False WORT=
[S Pa] [CLOCK] 14:47:08
Spruch [127.0.0.1:65299] (2/3) -> ID=3 ANZ=3 MINQ=5 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=False KURZ=False SUCH=False WORT=
[S Pa] [CLOCK] 14:47:09
[S Pa] [READ] Zeile gelesen # MAXQ=5 ANZ=3 #
[S Pa] [STATE] ID=5 ANZ=3 MINQ=5 MAXQ=5 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=
[S Pa] [SEND] (4,0s) -> { "ID" : 5, "anz" : 3, "minQuelle" : 5, "maxQuelle" : 5, "von" : 0, "bis" : 0, "kategorie" : 0, "nummer" : 0, "suche" : false, "stichwort" : "", "kurz" : false, "richtung" : true, "zufall" : false, "vorgaenger" : -1 }
[E Pa] [DIFF 127.0.0.1:65299]:
ID: 4 <> 5
MaxQuelle: 0 <> 5
[E Pa] [EMPF 127.0.0.1:65299] Neuer Zustand: ID=5 ANZ=3 MINQ=5 MAXQ=5 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=
Spruch [127.0.0.1:65299] (3/3) -> ID=3 ANZ=3 MINQ=5 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=False KURZ=False SUCH=False WORT=
[S Pa] [CLOCK] 14:47:10
Spruch [127.0.0.1:65299] (1/3) -> ID=4 ANZ=3 MINQ=5 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=
[S Pa] [CLOCK] 14:47:11
[S Pa] [READ] Zeile gelesen # ZUFALL=Y ANZ=3 #
[S Pa] [STATE] ID=6 ANZ=3 MINQ=5 MAXQ=5 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=
[S Pa] [SEND] (2,0s) -> { "ID" : 6, "anz" : 3, "minQuelle" : 5, "maxQuelle" : 5, "von" : 0, "bis" : 0, "kategorie" : 0, "nummer" : 0, "suche" : false, "stichwort" : "", "kurz" : false, "richtung" : true, "zufall" : true, "vorgaenger" : -1 }
[E Pa] [DIFF 127.0.0.1:65299]:
ID: 5 <> 6
Zufall: False <> True
[E Pa] [EMPF 127.0.0.1:65299] Neuer Zustand: ID=6 ANZ=3 MINQ=5 MAXQ=5 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=
Spruch [127.0.0.1:65299] (2/3) -> ID=4 ANZ=3 MINQ=5 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=
[S Pa] [CLOCK] 14:47:12
Spruch [127.0.0.1:65299] (3/3) -> ID=4 ANZ=3 MINQ=5 MAXQ=0 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=
[S Pa] [CLOCK] 14:47:13
[S Pa] [READ] Zeile gelesen # MINQ=1 MAXQ=29 ANZ=3 SUCH=Y WORT=Traum #
[S Pa] [STATE] ID=7 ANZ=3 MINQ=1 MAXQ=29 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=True WORT=Traum
[S Pa] [SEND] (2,0s) -> { "ID" : 7, "anz" : 3, "minQuelle" : 1, "maxQuelle" : 29, "von" : 0, "bis" : 0, "kategorie" : 0, "nummer" : 0, "suche" : true, "stichwort" : "Traum", "kurz" : false, "richtung" : true, "zufall" : true, "vorgaenger" : -1 }
[E Pa] [DIFF 127.0.0.1:65299]:
ID: 6 <> 7
MinQuelle: 5 <> 1
MaxQuelle: 5 <> 29
Suche: False <> True
Stichwort: "" <> "Traum"
[E Pa] [EMPF 127.0.0.1:65299] Neuer Zustand: ID=7 ANZ=3 MINQ=1 MAXQ=29 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=True WORT=Traum
Spruch [127.0.0.1:65299] (1/3) -> ID=5 ANZ=3 MINQ=5 MAXQ=5 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=
[S Pa] [CLOCK] 14:47:14
Spruch [127.0.0.1:65299] (2/3) -> ID=5 ANZ=3 MINQ=5 MAXQ=5 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=
[S Pa] [CLOCK] 14:47:15
Spruch [127.0.0.1:65299] (3/3) -> ID=5 ANZ=3 MINQ=5 MAXQ=5 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=
[S Pa] [CLOCK] 14:47:16
Spruch [127.0.0.1:65299] (1/3) -> ID=6 ANZ=3 MINQ=5 MAXQ=5 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=
[S Pa] [CLOCK] 14:47:17
Spruch [127.0.0.1:65299] (2/3) -> ID=6 ANZ=3 MINQ=5 MAXQ=5 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=
[S Pa] [CLOCK] 14:47:18
[S Pa] [READ] Zeile gelesen # KAT=1 NUM=0 SUCH=N ANZ=3 #
[S Pa] [STATE] ID=8 ANZ=3 MINQ=1 MAXQ=29 KAT=1 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=Traum
[S Pa] [SEND] (5,0s) -> { "ID" : 8, "anz" : 3, "minQuelle" : 1, "maxQuelle" : 29, "von" : 0, "bis" : 0, "kategorie" : 1, "nummer" : 0, "suche" : false, "stichwort" : "Traum", "kurz" : false, "richtung" : true, "zufall" : true, "vorgaenger" : -1 }
[E Pa] [DIFF 127.0.0.1:65299]:
ID: 7 <> 8
Kategorie: 0 <> 1
Suche: True <> False
[E Pa] [EMPF 127.0.0.1:65299] Neuer Zustand: ID=8 ANZ=3 MINQ=1 MAXQ=29 KAT=1 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=Traum
Spruch [127.0.0.1:65299] (3/3) -> ID=6 ANZ=3 MINQ=5 MAXQ=5 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=
[S Pa] [CLOCK] 14:47:19
Spruch [127.0.0.1:65299] (1/3) -> ID=7 ANZ=3 MINQ=1 MAXQ=29 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=True WORT=Traum
[S Pa] [CLOCK] 14:47:20
Spruch [127.0.0.1:65299] (2/3) -> ID=7 ANZ=3 MINQ=1 MAXQ=29 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=True WORT=Traum
[S Pa] [CLOCK] 14:47:21
[S Pa] [READ] Zeile gelesen # KAT=0 NUM=3 ANZ=3 #
[S Pa] [STATE] ID=9 ANZ=3 MINQ=1 MAXQ=29 KAT=0 NUM=3 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=Traum
[S Pa] [SEND] (3,0s) -> { "ID" : 9, "anz" : 3, "minQuelle" : 1, "maxQuelle" : 29, "von" : 0, "bis" : 0, "kategorie" : 0, "nummer" : 3, "suche" : false, "stichwort" : "Traum", "kurz" : false, "richtung" : true, "zufall" : true, "vorgaenger" : -1 }
[E Pa] [DIFF 127.0.0.1:65299]:
ID: 8 <> 9
Kategorie: 1 <> 0
Nummer: 0 <> 3
[E Pa] [EMPF 127.0.0.1:65299] Neuer Zustand: ID=9 ANZ=3 MINQ=1 MAXQ=29 KAT=0 NUM=3 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=Traum
Spruch [127.0.0.1:65299] (3/3) -> ID=7 ANZ=3 MINQ=1 MAXQ=29 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=True WORT=Traum
[S Pa] [CLOCK] 14:47:22
[S Pa] [READ] Zeile gelesen # MINQ=10 MAXQ=12 NUM=0 KAT=0 ZUFALL=N RICHT=Y ANZ=6 #
[S Pa] [STATE] ID=10 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=Traum
[S Pa] [SEND] (1,0s) -> { "ID" : 10, "anz" : 6, "minQuelle" : 10, "maxQuelle" : 12, "von" : 0, "bis" : 0, "kategorie" : 0, "nummer" : 0, "suche" : false, "stichwort" : "Traum", "kurz" : false, "richtung" : true, "zufall" : false, "vorgaenger" : -1 }
[E Pa] [DIFF 127.0.0.1:65299]:
ID: 9 <> 10
Anz: 3 <> 6
MinQuelle: 1 <> 10
MaxQuelle: 29 <> 12
Nummer: 3 <> 0
Zufall: True <> False
[E Pa] [EMPF 127.0.0.1:65299] Neuer Zustand: ID=10 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=Traum
Spruch [127.0.0.1:65299] (1/3) -> ID=8 ANZ=3 MINQ=1 MAXQ=29 KAT=1 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=Traum
[S Pa] [CLOCK] 14:47:23
Spruch [127.0.0.1:65299] (2/3) -> ID=8 ANZ=3 MINQ=1 MAXQ=29 KAT=1 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=Traum
[S Pa] [CLOCK] 14:47:24
[S Pa] [READ] Zeile gelesen # RICHT=N ANZ=6 #
[S Pa] [STATE] ID=11 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=False KURZ=False SUCH=False WORT=Traum
[S Pa] [SEND] (2,0s) -> { "ID" : 11, "anz" : 6, "minQuelle" : 10, "maxQuelle" : 12, "von" : 0, "bis" : 0, "kategorie" : 0, "nummer" : 0, "suche" : false, "stichwort" : "Traum", "kurz" : false, "richtung" : false, "zufall" : false, "vorgaenger" : -1 }
[E Pa] [DIFF 127.0.0.1:65299]:
ID: 10 <> 11
Richtung: True <> False
[E Pa] [EMPF 127.0.0.1:65299] Neuer Zustand: ID=11 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=False KURZ=False SUCH=False WORT=Traum
Spruch [127.0.0.1:65299] (3/3) -> ID=8 ANZ=3 MINQ=1 MAXQ=29 KAT=1 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=Traum
[S Pa] [CLOCK] 14:47:25
Spruch [127.0.0.1:65299] (1/3) -> ID=9 ANZ=3 MINQ=1 MAXQ=29 KAT=0 NUM=3 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=Traum
[S Pa] [CLOCK] 14:47:26
[S Pa] [READ] Zeile gelesen # ZUFALL=Y ANZ=6 #
[S Pa] [STATE] ID=12 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=False KURZ=False SUCH=False WORT=Traum
[S Pa] [SEND] (2,0s) -> { "ID" : 12, "anz" : 6, "minQuelle" : 10, "maxQuelle" : 12, "von" : 0, "bis" : 0, "kategorie" : 0, "nummer" : 0, "suche" : false, "stichwort" : "Traum", "kurz" : false, "richtung" : false, "zufall" : true, "vorgaenger" : -1 }
[E Pa] [DIFF 127.0.0.1:65299]:
ID: 11 <> 12
Zufall: False <> True
[E Pa] [EMPF 127.0.0.1:65299] Neuer Zustand: ID=12 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=False KURZ=False SUCH=False WORT=Traum
Spruch [127.0.0.1:65299] (2/3) -> ID=9 ANZ=3 MINQ=1 MAXQ=29 KAT=0 NUM=3 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=Traum
[S Pa] [CLOCK] 14:47:27
Spruch [127.0.0.1:65299] (3/3) -> ID=9 ANZ=3 MINQ=1 MAXQ=29 KAT=0 NUM=3 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=Traum
[S Pa] [CLOCK] 14:47:28
[S Pa] [READ] Zeile gelesen # RICHT=Y ANZ=6 #
[S Pa] [STATE] ID=13 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=Traum
[S Pa] [SEND] (2,0s) -> { "ID" : 13, "anz" : 6, "minQuelle" : 10, "maxQuelle" : 12, "von" : 0, "bis" : 0, "kategorie" : 0, "nummer" : 0, "suche" : false, "stichwort" : "Traum", "kurz" : false, "richtung" : true, "zufall" : true, "vorgaenger" : -1 }
[E Pa] [DIFF 127.0.0.1:65299]:
ID: 12 <> 13
Richtung: False <> True
[E Pa] [EMPF 127.0.0.1:65299] Neuer Zustand: ID=13 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=Traum
Spruch [127.0.0.1:65299] (1/6) -> ID=10 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=Traum
[S Pa] [CLOCK] 14:47:29
Spruch [127.0.0.1:65299] (2/6) -> ID=10 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=Traum
[S Pa] [CLOCK] 14:47:30
Spruch [127.0.0.1:65299] (3/6) -> ID=10 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=Traum
[S Pa] [CLOCK] 14:47:31
Spruch [127.0.0.1:65299] (4/6) -> ID=10 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=Traum
[S Pa] [CLOCK] 14:47:32
Spruch [127.0.0.1:65299] (5/6) -> ID=10 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=Traum
[S Pa] [CLOCK] 14:47:33
[S Pa] EOF erreicht -> senden_erlaubt = False
[E Pa] 127.0.0.1:65299 EOF erkannt -> Verbindung beendet
[S Pa] schließe Verbindung
[E Pa] Receiver-Thread beendet für 127.0.0.1:65299
Spruch [] (6/6) -> ID=10 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=True KURZ=False SUCH=False WORT=Traum
Spruch [] (1/6) -> ID=11 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=False KURZ=False SUCH=False WORT=Traum
Spruch [] (2/6) -> ID=11 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=False KURZ=False SUCH=False WORT=Traum
Spruch [] (3/6) -> ID=11 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=False KURZ=False SUCH=False WORT=Traum
Spruch [] (4/6) -> ID=11 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=False KURZ=False SUCH=False WORT=Traum
Spruch [] (5/6) -> ID=11 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=False KURZ=False SUCH=False WORT=Traum
Spruch [] (6/6) -> ID=11 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=False RICHT=False KURZ=False SUCH=False WORT=Traum
Spruch [] (1/6) -> ID=12 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=False KURZ=False SUCH=False WORT=Traum
Spruch [] (2/6) -> ID=12 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=False KURZ=False SUCH=False WORT=Traum
Spruch [] (3/6) -> ID=12 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=False KURZ=False SUCH=False WORT=Traum
Spruch [] (4/6) -> ID=12 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=False KURZ=False SUCH=False WORT=Traum
Spruch [] (5/6) -> ID=12 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=False KURZ=False SUCH=False WORT=Traum
Spruch [] (6/6) -> ID=12 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=False KURZ=False SUCH=False WORT=Traum
Spruch [] (1/6) -> ID=13 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=Traum
Spruch [] (2/6) -> ID=13 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=Traum
Spruch [] (3/6) -> ID=13 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=Traum
Spruch [] (4/6) -> ID=13 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=Traum
Spruch [] (5/6) -> ID=13 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=Traum
Spruch [] (6/6) -> ID=13 ANZ=6 MINQ=10 MAXQ=12 KAT=0 NUM=0 VON=0 BIS=0 VORG=-1 ZUFALL=True RICHT=True KURZ=False SUCH=False WORT=Traum
[E Pa] Timeout
P.S. Die große STDIO ist unschuldig. Die habe ich nur wegen Umlauten drin, sorry.
Dateianhänge
serverZitate3-java.zip
(7.01 KiB) 17-mal heruntergeladen
server-autoid-python.zip
(7.12 KiB) 18-mal heruntergeladen
sendenjson-pascal.zip
(20.18 KiB) 27-mal heruntergeladen

alfware17
Beiträge: 254
Registriert: Di 14. Dez 2010, 23:27

Re: Lost in Thread...

Beitrag von alfware17 »

Ich habe meinen Empfänger verändert und im Prinzip tut er es jetzt aber irgendwie bekomme ich am Ende die Exception nicht weg, die wohl daher kommt daß der Accept-Thread noch blockiert ist. Ich kann machen was ich will und verstehe es nicht. Alle Ausgaben sagen, der ist fertig! Trotzdem tritt im Lazarus die Exception auf, wenn ich die EXE im Windows starte dann nicht.
Hat jemand eine idee?
Dateianhänge
ZitateSendenQueue.zip
(252 KiB) 20-mal heruntergeladen

Benutzeravatar
theo
Beiträge: 11295
Registriert: Mo 11. Sep 2006, 19:01

Re: Lost in Thread...

Beitrag von theo »

Hast du irgendwo den drin im lpr?

Code: Alles auswählen

uses
  {$IFDEF UNIX}
  cthreads,
  {$ENDIF} 

alfware17
Beiträge: 254
Registriert: Di 14. Dez 2010, 23:27

Re: Lost in Thread...

Beitrag von alfware17 »

theo hat geschrieben: Do 23. Apr 2026, 18:18 Hast du irgendwo den drin im lpr?

Code: Alles auswählen

uses
  {$IFDEF UNIX}
  cthreads,
  {$ENDIF} 
nein ich habe Windows... Indirekt löst deine Frage aber mein Rätsel: ich sollte immer wieder die Unit BaseUnix nehmen und ein fpclose - da ich das aber nicht habe, dachte ich ein fileclose kommt dem am nächsten. Falsch gedacht, und das macht die böse Exception an der Katze mit den 9 Leben (accept thread). Nun nahm ich closesocket aus Winsocks oder Socket weiß nicht genau und schon gehts, keine Exception mehr. Na dann kann ich ja mein ganzes Debug Gebäude schrittweise abrüsten...

Antworten