Frage

Ich möchte etwas Ähnliches wie EtherPad implementieren - ein Online -Kollaborationsprogramm.

Kennen Sie eine Bibliothek für den Server, der sich um eingehende Verbindungen kümmert, eine Benutzerliste verwaltet und strukturierte Daten zwischen ihnen verteilt?

DRB ist nahe an das, was ich will, aber so wie ich es verstehe, aber so wie ich es verstehe, sendet es wiederholt das gesamte Objekt über das Netzwerk und macht es ziemlich langsam. Es sollte nur Updates senden.

Ruby wäre perfekt, aber es ist mir egal.

War es hilfreich?

Lösung

Die operative Transformation ist die Technologie, nach der Sie suchen. Es wird jedoch nicht Ihre eingehenden Verbindungen und Benutzerliste verwaltet. Es kümmert sich um die Daten und wie Sie Aktualisierungen durchführen. Hier haben Sie ein paar Optionen:

  1. Implementieren Sie Ihre eigene Version. Abhängig davon, wie hoch die Zusammenarbeit sein muss, muss man einige der Standardalgorithmen dort draußen befolgen. http://cooffice.ntu.edu.sg/otfaq/.

  2. EtherPad ist Open Source, sodass Sie jederzeit ihre Codebasis konsultieren können. Es würde helfen, wenn Sie die "Theorie" unter der Umsetzung ein wenig verstehen würden. Weitere Informationen finden Sie in der vorherrschenden Link.

  3. Vielleicht möchten Sie versuchen, sich an die Jungs von Codoxware zu wenden. Sie haben eine ziemlich ausgefeilte operative Transformationsbibliothek in einer Reihe von Programmiersprachen. Ich konnte noch nicht in die Hände in die Hände bekommen (sie schienen den Versuch abgeschlossen zu haben), also kann ich nicht sagen, wie gut es ist. Aber sie haben es verwendet, um eine ziemlich raffinierte Zusammenarbeit in Word zu entwickeln.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top