Member 14677180 Ответов: 1

Несколько пользователей для работы на одном экране без переопределения изменений друг друга


Я работаю над приложением WPF. Мне нужна функциональность, которая помогает нескольким людям работать на одном экране(сеточном экране), не переопределяя изменения друг друга.

Что я уже пробовал:

Please help me on this. I am not getting how to achieve this

1 Ответов

Рейтинг:
2

lmoelleb

Вам нужно узнать о сетевом общении. Хотя вы можете заставить компьютеры общаться напрямую, если они находятся в одной сети, вы довольно легко столкнетесь с проблемами брандмауэра. Я рекомендую вам создать API на основе HTTPS на сервере - пусть клиенты войдут в него (просто вход в систему может быть сложной проблемой). API может находиться в облаке (AWS/Azure) или работать на компьютере, доступном каждому клиенту.

Подумайте о том, чтобы использовать что-то вроде SignalR для трансляции изменений, чтобы все клиенты обновлялись.

Подумайте, как вы будете иметь дело с двумя пользователями, начинающими редактировать одно и то же поле одновременно.
Один из подходов заключается в том, чтобы позволить одному из пользователей "выиграть" на основе более или менее произвольных правил, таких как имя пользователя в алфавитном порядке - важно, чтобы оба компьютера согласились, кто выиграл. Пока соединение и программа быстры и надежны, пользователи не заметят, что ваш алгоритм не "справедлив".

Другой подход заключается в том, чтобы позволить серверу отслеживать, кто может редактировать (и начинать каждое редактирование с запроса "блокировки редактирования"). Опять же, простой вопрос, сложный для реализации в некоторых случаях (что делать, если сервер выходит из строя... есть ли у него база данных, в которой он это хранит?.. что делать, если клиент выйдет из строя сразу после получения блокировки редактирования?)

В целом, это не простая задача для новичка... но это проект, из которого вы можете многому научиться.


BillWoodruff

+5 я бы назвал это трудным проектом для опытного программиста :)