Я работаю над небольшим проектом с Qt (для изучения Qt и небольшим количеством упражнений на c ++), и я хочу достичь клона «онлайн-редакторов кодирования», которые несколько пользователей могут читать и редактировать документ. Не обязательно быть в сети, главное назначение - одновременное редактирование файлов. Я просто не знаю, как подойти к этой задаче.
То, что я до сих пор делал, - это создание простого текстового редактора. Программа имеет две текстовые области. В текстовой области 1 вы пишете свой код. В текстовой области 2 отображается результат. Когда вы запускаете свой код, он сохраняет содержимое текстовой области 1 в файл (например, Code.cpp), а затем компилирует сохраненный файл. Когда он скомпилирован, другая функция запускает исполняемый файл и записывает вывод в другой файл (это делается с помощью команды PowerShell Out-File). Текстовая область 2 просто читает содержимое выходного файла.
Для одного пользователя это работает. Проблема в том, что я не знаю, как справиться с несколькими пользователями. Кто-то предложил мне использовать программу текстового редактора в качестве клиента и обрабатывать параллельные операции на сервере. Это похоже на хороший подход. Означает ли это, что я должен также обрабатывать файл сохранения и запускать код на сервере?
И как мне разрешить нескольким пользователям редактировать один и тот же файл? Очевидно, я не прошу -реальный код. Я знаю мьютексы и семафоры, но никогда не реализовывал их. Может, какой-то псевдокод может помочь? Я не знаю, с чего начать копать, поэтому я здесь. Я был бы очень признателен, если бы кто-нибудь указал мне направление (любые книги для чтения или учебники ... и т. Д.)