Тут очень много специалистов, может подскажет кто, уже неделю не могу придумать надежную систему передачи информации в системе «клинт-клиент».
Представьте, у нас есть информация об определенных вещах. Допустим айди вещи, количество конкретно этого предмета. Каждый клиент может стать «сервером», расшаривая свои вещи другим клиентам. А может быть ретранслятором - не расшаривая свои вещи, но передавая чужие остальным клиентам.
Передавать можно по одной вещи за раз. Принимать тоже придется по одной и объединять все это в единую таблицу.
Абстрактно представим, что у меня есть три шапки и кроссовки и два пальто. Я делаю себя сервером. Теперь каждый другой клиент может меня просканировать и увидеть, что у меня три шапки, кроссовки и два пальто. Он делает себя ретранслятором. Теперь если третий клиент начнет сканирование, то одновременно мою талицу будем отдавать и я и он.
Допустим, он тоже делает себя сервером. Теперь и у меня и у него две таблицы: моя и его. При сканировании третьим клиентмо мы оба отдаем и его и мою таблицы.
И возникает проблема. Как получать действитеьно уникальную и актуальную инфу? Допустим, при каждой передаче каждой вещи мы прибавляем имя - чья это вещь. Что еще? Как актуализировать каждую вещь? Чтобы при сканировании был приоритет приема таблиц с вещами. Например, от владельца берем, от не владельца - приоритет ниже.
Но прием то и отдача происходят одновременно. Нужны какие то уникальные айди для каждой вещи? Но как узнать ее уникальность и не дублировать?
Допустим, мы при приеме добавляем все вещи во временную таблицу и используем два префикса передачи: первый обычный и завершающий, укзаывающий что можно собирать таблицу. Но даже так почему то сбои передачи.
Как можно передавать и актуализировать все надежно?




