Verbindung annehmen, Datenstromstart lesen (<shundstream>), <requestconnection> lesen [Client abgelehnt] <connectionrefused> mit Begründung, Verbindungsabbau* [Client akzeptiert] Client-ID zuteilen, per <connectionaccepted> mitteilen Serverlock exklusiv belegen Wenn das Lock belegt wird muss es *unbedingt* auch wieder freigegeben werden, egal was zwischendurch passiert. try/finally ist hier empfehlenswert. Neuem Client alle vorhandenen Teilnehmer mitteilen (<announcenewparticipant>) Alles was wir dem Client senden wird zunächst nur in die Sendequeue gelegt. Dadurch läuft das ganze schnell und unabhängig vom Client, so dass das exklusive Serverlock möglichst kurz belegt ist. Neuen Client in Teilnehmerliste eintragen Alle Teilnehmer über neuen Client informieren (<announcenewparticipant>) Neuen Teilnehmer in System-Chatnachricht ankündigen (<chat> mit from="") Neuem Client aktuellen Diagrammstatus übermitteln: getCreateEvent() erst für die Knoten, dann die Flusskanten, dann die Kommentarkanten Serverlock freigeben Neuen Client informieren ob er das Diagramm editieren darf (<editingallowed> oder <editingforbidden>) Normaler Betrieb der Verbindung Hierbei wird also auch der neue Client über sich selbst informiert.
© Copyright 2024 ExpyDoc