Итак, я пытался реализовать систему, в которой компьютеры в сети (где в сети всегда три или более компьютеров) могут асинхронно связываться друг с другом, отправляя друг другу данные.
Пока что все, что я смог найти в решениях go, - это сокеты, которые, насколько мне известно, требуют клиента и серверного скрипта. Моя первая проблема заключается в том, что я хотел бы удалить любые роли клиента или сервера, поскольку все компьютеры в сети децентрализованы и запускают один и тот же сценарий одновременно без сервера. Во-вторых, все компьютеры отправляют данные других датчиков (выбранных случайным образом) с определенного c момента времени. Если, например, у меня есть 4 компьютера в сети и - поскольку все они работают по одному и тому же сценарию - они решат отправить свои данные одновременно на другой компьютер, не приведет ли это к блокировке ожидания, так как все узлов пытается установить связь с другим компьютером, но эти компьютеры не могут принять соединение, потому что они также пытаются отправить данные?
Я рассмотрел использование многопоточности для запуска begin_syn c и wait_syn c работает одновременно, но я не уверен, будет ли это работать. У кого-нибудь есть какие-либо предложения или идеи для решений, которые я мог бы рассмотреть?
Спасибо за ваше время!