Nö, eigentlich nicht ... war ein sponanter Einfall.
Und noch ne Erweiterung:
(Damit nicht zwei PC's gleichzeitig ein Feld blocken, erfolgt die Blockade und die Aufhebung via
TCP.
Jeder Client muss die Blockade bestätigen, bevor weitergemacht wird. Timeout -> Client hängt; Fehlermeldung von der Gegenstelle -> wurde bereits geblockt, dann muss gelost werden, wer denn nun Zugriff hat.
Dann wird allen mitgeteilt, wer den Block wieder aufheben darf.)
Bessere Alternative dazu: geblockt wird über den Server, dieser bestimmt die Berechtigung.
Sprich: Client blockt beim Server, teilt diese Information aber selbst den anderen mit -> keine Überschneidungen, wer zuerst Blockt, kommt zuerst, gleichzeitig nur minimal höherer Traffic beim Server.
Ist das Feld bereits geblockt, erhält der Client vom Server ne Absage, die aufwändige Variante mit dem alle anderen Informieren wer jetzt darf, entfällt.
Und zum Timeout: darf nur beachtet werden, wenn sich der Client nicht gemeldet hat, es könnte ja sein, dass sich jemand nur Zeit lässt.
mfG
Markus
PS: liegt vielleicht auch daran, dass ich einen Netzwerk-Link via Soundkarte plane ... da macht man sich ein paar Gedanken in diese Richtung
EDIT: Bessere Anti-Überschneidungs-Alternative