Я не эксперт, но так как здесь все немного тихо, я подумал, что укажу, с чего начать.Возможно, что то, что я пишу, бесполезно, но, по крайней мере, это заставляет меня двигаться.
Мне кажется, что обнаружение разъединения - это тот же класс проблем, что и обнаружение ошибки в целом.(предположительно, отсутствует «сигнал отключения», поэтому мы пытаемся определить, когда кто-то вытащил вилку).Я чувствую, что это попадает в тему теории кодирования шумных каналов.Я не эксперт в этом, но у меня есть хорошая книга на эту тему.
Дэвида Маккея * Теория информации, алгоритмы логического вывода и обучения.
Он доступен для бесплатного онлайн-просмотра на авторском веб-сайте (с разрешения издателя), поэтому вы можете судить, полезно ли вам это или нет, не платя никаких денег.
Для этого конкретногопроблема, вы можете захотеть посмотреть коды повторного накопления (глава 49 - вам не нужно читать 48 глав до этого).Вы посылаете повторение каждого бита сигнала, который хотите отправить, но переставляете их случайным (но фиксированным) ключом.Вы тогда к контрольным суммам на переставленном сигнале.
Итак, если центральный сервер использовал разные ключи для каждого пользователя - я бы подумал, что они могли бы определить, кто внес ошибку при отключении среднего сигнала (например, вытащив свой штекер).
Вот так я бы начал, но я не эксперт.
Том