Title: Получение инициирущих соединений в р2р tcp се Post by: Maximion on September 26, 2021, 09:44:00 AM если у нас р2р на tcp построен, то новый узел имея какой-то список адресов может создать себе несколько исходящих соединений
но они по идее используются только для отправки, т.е. инициатором обмена там выступает наш узел, а его пиры слушают его запросы а чтобы получать по инициативе извне что-то нужно иметь соотв входящие соединения, а как сказать узлам сети чтобы они к узлу подключились? - просить по исходящему чтобы они установили входящее? а нафиг оно им? а если лимиты исчерпаны? - ждать пока кто-то сам к тебе подключится после того как другие о тебе расскажут? а если будут долго выбирать не тебя ты будешь ждать днями? т.е. вот подключается новый нод, устаналивает с кемто исходящие - т.е. готов отправлять, теперь он хочет получать блоки, а от кого если никто его не знает и соотв не будет коннектиться? как вообще это решается? Title: Re: Получение инициирущих соединений в р2р tcp с Post by: ~DefaultTrust on September 26, 2021, 07:44:51 PM если у нас р2р на tcp построен, то новый узел имея какой-то список адресов может создать себе несколько исходящих соединений но они по идее используются только для отправки, т.е. инициатором обмена там выступает наш узел, а его пиры слушают его запросы а чтобы получать по инициативе извне что-то нужно иметь соотв входящие соединения, а как сказать узлам сети чтобы они к узлу подключились? - просить по исходящему чтобы они установили входящее? а нафиг оно им? а если лимиты исчерпаны? - ждать пока кто-то сам к тебе подключится после того как другие о тебе расскажут? а если будут долго выбирать не тебя ты будешь ждать днями? т.е. вот подключается новый нод, устаналивает с кемто исходящие - т.е. готов отправлять, теперь он хочет получать блоки, а от кого если никто его не знает и соотв не будет коннектиться? как вообще это решается? tcp соединение является двунаправленным по дизайну. Не важно кто инициатор, а кто слушатель. Title: Re: Получение инициирущих соединений в р2р tcp с Post by: Maximion on September 27, 2021, 12:45:18 PM tcp соединение является двунаправленным по дизайну. Не важно кто инициатор, а кто слушатель. я там забыл уточнить что имеется ввиду режим запрос-ответ, может ли такое быть сделано в обе стороны на одном соединении? по идее да, если каждый запрос маркировать уникальной меткой , а потом ждать асинхронно ответ с такой же меткой да? Title: Re: Получение инициирущих соединений в р2р tcp с Post by: ~DefaultTrust on September 27, 2021, 06:50:59 PM tcp соединение является двунаправленным по дизайну. Не важно кто инициатор, а кто слушатель. я там забыл уточнить что имеется ввиду режим запрос-ответ, может ли такое быть сделано в обе стороны на одном соединении? по идее да, если каждый запрос маркировать уникальной меткой , а потом ждать асинхронно ответ с такой же меткой да? запрос-ответ - это уже протокол более высокого уровня, над TCP. В протоколе TCP есть только номер последовательности. Архитектура протоколов высокого уровня может быть любой. Маркировка уникальной меткой - почему бы и нет? |