Hallo, ich brauche einen UDP Server, der request von clients empfaengt, request Inhalt mit Inhalt einer mysql-Tabelle vergleicht, diese eventuell updated, und dem client dann antwortet.
Der Server soll auch selbstaendig an die clients schicken, falls sich einer seit zb 5 Sekunden nicht mehr gemeldet hat.
Die request bzw mysql Tabelle sollen in einer TK listbox dargestellt werden, diese listbox soll sich selbstaendig aktualisieren.
Meine ersten Code-Fragmente zu den einzelnen Komponenten findet man hier:
der Server:
http://perlpunks.de/paste/show/46bc6456.17ce.39c
der client (kann prinzipiell auch als "senden nach n sekunden verwendet werden"):
http://perlpunks.de/paste/show/46bc6528.1fa3.12b
der grafik Teil (liest/aktualisiert im Moment aus einer Datei):
http://perlpunks.de/paste/show/46bc6588.2592.1f
Probleme:
===========
Hauptproblem ist die ZusammenfĂĽhrung der Programmteile, vor allem wegen den Endlos-Schleifen (tk MainLoop, server while-Schleife, server sollte bei toten clients aktiv werden). Es sollte nur ein Dos-Fenster benoetigt werden !!
Desweiteren funktioniert das mit timeout im client nicht, er sollte bei KEINEM lauschenden Server trotzdem alle n Sekunden einen Request schicken.
Ein weiteres Problem, wenn der Server mit
$sock->send("Zeitstempel: $startzeit : Du sagtest: ''$nachricht'' zu mir $/");
antwortet bricht der client auf XP Maschine bei recv() ab, der client auf Ubuntu (als Vmware guest OS) erhaelt nicht gesamte gesendete Antwort, oder gibt sie zumindest nicht auf STDOUT aus.
Was ist das Problem mit der Variable $startzeit ??
Hier nochmals kurze Zusammenfassung der Anforderungen:
* UDP server empfaengt und sendet zurueck
* UDP server sendet nach n Sekunden falls ein client "tot ist"
* Darstellung der request in selbstaendig aktualisierender TK listbox