phpbar.de logo

Mailinglisten-Archive

[php] OT: zuverlaessige Kommunikation

[php] OT: zuverlaessige Kommunikation

Tom Horstmann php_(at)_phpcenter.de
Thu, 14 Feb 2002 11:50:51 +0100


> boris pitule
> Sent: Wednesday, February 13, 2002 1:47 PM
>
> > > andererseits: wenn immer nicht sicher ist ob die letzte
> > > bestätigung ankommt, dann braucht men ne menge bestätigungen...
> >
> > Das waere ja endlos. Aber irgendwann gehts ja nicht mehr um den Wert
> > selber und man muesste aufhoeren koennen.
> >
>
> schon nach der ersten übermittlung gehts doch
>  nicht mehr um den wert selbst, opder ?

Ja, stimmt. Dann gehts um das Wissen ueber das Kennen des Wertes.
Hab vergessen, dass noch reinzuschreiben.



> Norbert Pfeiffer
> Sent: Wednesday, February 13, 2002 4:00 PM
>
> Konzept:
> A sendet Wert-ID an B, merkt sich 1.Versuch+Zeit+Wert+ID+Quersumme
>   - je nach Konfig sind X Versuche bis zur Fehlermeldung moeglich
>   - ebenfalls muss ein TimeOut definiert werden, nachdem der naechste
>     Versuch mit neuer ID bei fehlender Antwort gesendet wird
> B empfaengt Wert+ID und sendet zyklisch ID+Quersumme bis eine OK-
>   - oder eine Error-Message kommt,
>   - bzw. sein TimeOut zuschlaegt, dann einmalige Error-Message an A
> A empfaengt ID+Quersumme und sendet OK oder Error
>
> Derartiges in PHP zu realisieren duerfte auf Probleme stossen(?).
> So koennen IMHO nur Server untereinander kommunizieren,
> Client-Server-Kommunikation ist das jedenfalls nicht.
>
> PS:  wo willst/wollt Du/Ihr das denn einsetzen ... <gruebel>

Folgende Situation ist gegeben: Ein (web)server der mit Daten gefuettert
wird. Die Abarbeitung der Daten ist nicht auf demselben Rechner moeglich.
Deshalb das Ausweichen auf einen zweiten Rechner. Beide Rechner sind
ortsgebunden und koennen nur via Internet im Kontakt stehen. Zusaetzlich
nimmt die Abarbeitung recht viel Zeit in Anspruch, evtl. 5-10 Sek/Datensatz.
Das haengt aber nur zu einem kleinen Teil mit der Rechenpower zusammen.
Externe Faktoren sind da auschlaggebend. Deshalb muss die Moeglichkeit
gegeben sein, die Last auf weitere Rechner zu verteilen. Eine Sterntopologie
mit dem webserver als Zentrum und Steuereinheit.

Das php dafuer sicher nicht die optimalste Loesung ist, denk ich auch:)
Sollte aber machbar sein.

Ich muss gestehen, ich blicke mittlerweile ab dem 2-3 Sendevorgang nicht
mehr durch:) Bei Deinem Bsp. oben und Alexanders fehlt mir aber noch
mind. eine Bestaetigung.
Der Wert selber ist beiden bekannt, klar. Aber es muss sicher sein, dass
nicht nur beide den Wert wissen, sondern auch, dass beide wissen, dass
sie gegenseitig den Wert kennen, und das der eine das wiederum jeweils auch
vom anderen weiss. Denke ich jedenfalls.
Ich selber habs noch nicht verstanden, aber wir sind hier mittlerweile
auch der Ansicht, dass 3 Bestaetigungen reichen:)


Das wiederholte Senden hab ich auch im geplant. Inwieweit eine err-msg
Sinn macht, wenn schon die normale Kommunikation nicht ankommt, weiss
ich nicht. In so einem Fall muss sich der Sender die Daten merken und
spaeter nocheinmal einen Sende-Versuch unternehmen. Sofern es sich
beim Sender um einen client(?) handelt, dann versucht er dies erstmal
recht haeufig, bis er schliesslich den Datensatz als "nicht abgeschlossen"
in seinen logs vermerkt.
Ist der server Sender, so kann er nach einer best. Zeit den Datensatz an
einen anderen client geben. Das ist zwar nicht ganz optimal, aber 2x
Bearbeiten ist besser als gar nicht.



Gruss,

TomH


php::bar PHP Wiki   -   Listenarchive