Ответы пользователя по тегу Протоколы передачи данных
  • Как написать собственный протокол беспроводной связи?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    итак, давайте все же определимся что вы хотите сделать.

    Как написать собственный протокол беспроводной связи?


    Беспроводной протокол это как раз таки WiFi (стандарты ieee 802.11) и BlueTooth. Эти протоколы описывают протоколы на физическом уровне модели OSI. То есть "протокол беспроводной связи" это мега сложно и вы хотите сделать не это.

    Требуется элементарно передать данные от устройства А к устройству Б через Wi-Fi, или хотябы BlueTooth.


    Для этого вы должны наладить канал данных между двумя устройствами. Для wifi это означает объеденить их в одну сеть или подключить друг к другу через wifi-direct. Для bluetooth - сопряжение устройств.

    При подключении обоих устройств в одну сеть (через wifi, ethernet или как-то еще - это не важно) - всем самым сложным будет заниматься операционная система. Вам же на выборк 2 транспортных протокола, TCP и UDP, юзай не хочу. Или любой готовый протокол для передачи данных поверх TCP/UDP.

    В случае с wifi direct или bluetooth есть примеры на гитхабе как организовать общение устройств меджу собой.

    Вопрос не совсем по теме: можно ли для этого использовать ssh подключение между устройствами?


    SSH это протокол прикладного уровня, который работает поверх TCP. Так что в случае с подключением в одну сеть - да. Есть еще netcat, который чуть по проще если нужно простые данные отправлять.
    Ответ написан
    1 комментарий
  • Безсерверные протокол передачи данных, что вы знаете о нем?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Ip адреса известны заранее.


    Проблема "без-серверной" передачи данных заключается только при отсутствии этого пункта. Если вы можете установить прямое соединение между двумя точками - вам не нужен сервер.

    Роль сервера - найти пользователей и связать их. А далее они уже могут соединяться друг с дружкой и приватно обмениваться данными. Какой-то клиент может даже стать сервером, или несколько клиентов (обычно в локальной сети используется).

    В контексте локальной сети нет никаких проблем взять какой-то порт (или промежуток портов) и бродкастом послать запрос типа "я в сети чуваки", в итоге кто-то кто будет выступать в роли сервера словит запрос и отправит ответ типа "привет чувак, вот все остальные чуваки".

    Посылать бродкаст запросы в интернет явно не лучшая идея потому обычно есть сервер с известным IP который делает ровно то же самое.

    Если же у вас все и так известно - то нет смысла в сервере.
    Ответ написан
    7 комментариев
  • Базовые книги для back end разработчика?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Если говорить о сетях, то вы должны:
    - знать HTTP: хотя бы основные фреймворки (авторизация, кэширование и т.д.) + основы, методы, заголовки, структура сообщений, статус коды.
    - разобрать модель OSI и TCP/IP хотя бы до транспортного уровня, ну и может быть было бы неплохо получить базовое представление о низлежащих уровнях. Ну и понимать что есть TLS.

    в принципе все есть в википедии, а для деталей есть спецификация HTTP.
    Ответ написан
    Комментировать
  • Как создают свой протокол?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    более низкому по цепочке, TCP/UDP протоколу.

    Именно так. Читаем про модель OSI.

    шифрование данных собственным алгоритмом (и расшифровка на приеме) своим протоколом?

    Если в рамках вашего протокола вы так же описываете как происходит обмен ключами и т.д. то да.
    Ответ написан
    Комментировать