Edytor Tekstu Online

Edytor Tekstu Online
trybot
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 6 lat
  • Postów:23
0

Witam,
mam zadanie zrobić edytor tekstu, który umożliwi modyfikowanie tekstu przez x osób. Jak podejść do takiego zadania? Głównym problemem jest zrobienie tej całej współpracy. Jak przesyłać informacje, że dany fragment edytowała osoba y, czy zaznaczanie tekstu było widoczne u wszystkich edytujących osób?

kq
Moderator C/C++
  • Rejestracja:prawie 12 lat
  • Ostatnio:2 dni
  • Lokalizacja:Szczecin
0

To brzmi jak dość trudne zadanie. Nawet korzystając z gotowych kontrolek do rich tekstu, musiałbyś opracować jakiś protokół synchronizacji danych (p2p czy serwer-klient?) i go zaimplementować. Masz takie zadanie gdzieś? Bo jak nie to lepiej jakieś google docs użyć i niespecjalnie w C++ bym to pisał, chyba że masz duży zespół ludzi dostępny.


trybot
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 6 lat
  • Postów:23
0
kq napisał(a):

To brzmi jak dość trudne zadanie. Nawet korzystając z gotowych kontrolek do rich tekstu, musiałbyś opracować jakiś protokół synchronizacji danych (p2p czy serwer-klient?) i go zaimplementować. Masz takie zadanie gdzieś? Bo jak nie to lepiej jakieś google docs użyć i niespecjalnie w C++ bym to pisał, chyba że masz duży zespół ludzi dostępny.

A jak by taki protokół synchronizacji wyglądał by - bo trochę nie widzę tego? (duży zespół xD = 2 osoby)

LukeJL
  • Rejestracja:około 11 lat
  • Ostatnio:2 minuty
  • Postów:8423
0

na youtube są jakieś talki o tym:
można poszukać i w innych miejscach: https://www.quora.com/How-do-I-proceed-to-build-a-real-time-collaborative-text-editor-from-scratch

w sumie ja bym pierwsze co zrobił, to przeszukał istniejące zasoby internetu, łącznie ze źródłami tego typu narzędzi (wszystko jedno w jakim języku programowania).


trybot
ok, dzięki za linki
fasadin
  • Rejestracja:prawie 14 lat
  • Ostatnio:prawie 3 lata
  • Postów:4882
0

Ja bym zrobił tak

Klienci wysyłają eventy do serwera (każda akcja to jeden event, można pozbierać eventy. Event uruchamia odpowiednią funkcje na serwerze. W evencie jest zawarte kto zmienił i co zmienił.

Serwer zmienia plik / pamięć w locie i wyświetla (więc nic nie wysyłasz do klientów)

Na serwerze zrobiłbym jakis kontener asynchroniczny i zrobilbym tam FIFO

trybot
Dzięki za pomysł.
trybot
  • Rejestracja:ponad 8 lat
  • Ostatnio:ponad 6 lat
  • Postów:23
1

Udało mi się zrobić "coś" co działa ;) . Zostawiam linka jak ktoś chciałby np. zobaczyć jak zacząć swój projekt takiego edytora itd.
source

Dzonzi
  • Rejestracja:około 11 lat
  • Ostatnio:prawie 4 lata
  • Postów:132
0

A takich rzeczy nie robi się w pare h w pythonie?

trybot
hm nawet 30min jak postawisz (chyba) node.js :P i zaczniesz kodzić w js. Zadanie wymagało zrobienie wszystkiego od zera łącznie z tym, że serwer ma być w C / C++ (wymóg to C socket). Co do python'a to nie wiem :)
Dzonzi
No to nie zazdroszczę. Typowe polskie uczelnie są typowe. C++ do aplikacji webowych, a python do programowania mikroprocków XD
trybot
Dokładnie ale trza sobie umieć radzić ;) co do mikro to asm :P

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.