Я разрабатываю приложение для чата (в VB.Net).Это будет «безопасная» программа чата.Весь трафик будет зашифрован (мне также нужно найти лучший подход для этого, но это пока не вопрос).
В настоящее время программа работает.У меня есть серверное приложение и клиентское приложение.Однако я хочу настроить приложение так, чтобы оно не нуждалось в центральном сервере для его работы.
Какой подход я могу использовать для децентрализации сети?
Я думаю, что мне нужно разработатьклиенты таким образом, что они также действуют как сервер.
Как клиенты узнают, к какому серверу нужно подключиться / что произойдет, если сервер не работает?Как клиенты / серверы теперь могут узнать, какие другие узлы есть в сети, не имея центрального сервера?
В лучшем случае я не хочу, чтобы клиенты знали, какие IP-адреса у разных узлов, однако яне думаю, что это было бы возможно без центрального сервера.
Как уже говорилось, приложение будет написано на VB.Net, но я думаю, что на данном этапе язык не имеет значения.
Просто хочу узнать о различных подходах, которым я могу следовать.