Задать вопрос
  • Как выловить пустую строку при передаче через COm port?

    @res2001
    Владимир Коротенко, Согласен со всем, кроме
    любого случая

    Описал другой вариант, чтоб AlexSer знал, что есть и альтернативные подходы.
  • Как выловить пустую строку при передаче через COm port?

    @res2001
    AlexSer,
    далее записать данные в буфер, отправить полный пакет на обработку, произвести обнуление и снова прием.

    Это наиболее простой в реализации и часто используемый вариант, но не самый оптимальный в плане производительности и потребления памяти.
    Оптимальный вариант - это делать потоковый анализ полученных данных, т.е. вы получили какой-то блок данных и сразу отправляете его обработчику. Обработчик должен быть написан исходя из того, что:
    1.один полный пакет может состоять из нескольких блоков данных, т.е. обработчик между вызовами должен сохранять состояние
    2.в каждом конкретном блоке данных может не быть начала или конца пакета.
    3.после получения признака конца пакета в блоке данных могут содержаться данные следующего пакета
    Подобным образом, например реализуют HTTP парсеры. Можно посмотреть пример тут.
  • Как выловить пустую строку при передаче через COm port?

    @res2001
    AlexSer, В вашей программе вам не нужно переводить в HEX. Про шестнадцатиричную систему я упомянул лишь потому, что там удобней смотреть поток байт глазами, для того что бы вы сами для себя выяснили какой набор символов в данной железке является разделителем строк. Как писал Владимир Коротенко в ответе, есть несколько вариантов общепринятых разделителей. Можно, конечно, ловить их все, но зачем.
    То же самое можно сделать открыв документацию по протоколу, там наверняка описаны используемые разделители.
    есть разделяющие символы "0D 0A 0D 0A 0D 0A"

    В вашем примере 3 подряд идущих разделителя строки, а это визуально 2 пустые строки.
    Для одной пустой строки, разделителей будет 2, т.е.: "0D 0A 0D 0A". Это при условии, что разделителем строк является CRLF, как в винде.
  • Настройка удаленного рабочего окружения?

    @res2001
    Дмитрий Ляпун, В качестве "А" можете начать со сборника статей на хабре "Сети для самых маленьких". Несмотря на название статьи очень не плохие. Но только я сомневаюсь, что в вашей ситуации вам именно подобное "А" нужно.
    Еще раз повторюсь: технологий много, что конкретно вам нужно никто не знает.
    Я предложил вариант с ВПН для организации доступа через инет к домашнему компу. Какой трафик вы будете гонять через ВПН - значения не имеет.
    Лично я никогда не встречал для себя туториала от А до Я.
    Вы начните с настройки сервера и клиента ВПН, будут конкретные вопросы можете задавать здесь.
  • Будет ли работать 350 метров витой пары?

    @res2001
    ru6ak, Кабель цельный. Качества кабеля ... трудно сказать, обычный 5e без экрана, на нем тогда вся сеть была. На мой взгляд приличный кабель. Кабель втыкался с обеих сторон в шлюз на FreeBSD, вот на нем и переставлял адаптеры.
    Кстати, кабель я тогда отдельно тестировал, т.к. сразу подозрение пало именно на кабель. Кабельного тестера у меня не было, поэтому тестировал обычным тестером попарно закоротив жилы на одном конце.
    Из той истории сделал для себя вывод, что на таких (предельных) дистанциях начинают уже играть роль какие-то второстепенные вещи, на которые обычно внимания не обращаешь, типа производителя сетевого адаптера или качества кабеля и проч.
    С тех пор на ответственные участки всегда стараюсь ставить интелы чего и всем желаю.
  • Будет ли работать 350 метров витой пары?

    @res2001
    ru6ak, Забыл упомянуть. На риалтеках и марвеле сеть поднималась, но только 100 Мб/с и в каких-то сочетаниях даже это работало не стабильно, т.е. сеть отваливалась или переключалась на half duplex.
    Но нужен был гигабит.
  • Как относиться к видео-урокам на YouTube по C++?

    @res2001
    Вы же все равно смотрите ютуб, так что посмотрите и их. Но рассчитывать на то, что после просмотра вы научитесь программировать.
  • Будет ли работать 350 метров витой пары?

    @res2001
    ru6ak, Вам, похоже , повезло больше чем мне.
    Информация из собственного опыта. Расстояние было чуть больше 100 м.
    Конкретные модели сейчас не скажу, т.к. давно уже не занимаюсь той сетью. Тестировал несколько вариантов риалтеков и что-то из марвела. На интеле поднялось без проблем.
  • Настройка удаленного рабочего окружения?

    @res2001
    Дмитрий Ляпун,
    Да, а есть ли где-то полная инструкция на настройку всего?

    Чего всего? У каждого свое понятие "всего". Вряд ли вы найдете полную инструкцию по настройке вашего всего. Но инструкций по настройке отдельно взятых компонент из вашего набора найдете пачку.
    Настроив OpenVPN и подключив клиент к серверу вы получите 2 компьютера в одной виртуальной защищенной локальной сети. Остальное настраивайте так как вам нужно. ssh, удаленный раб.стол, NFS и т.д. и т.п. и все это будет работать через ВПН по шифрованному каналу, так что про безопасность в остальном ПО уже можно особо не беспокоится.
    Если будут конкретные вопросы по настройке отдельных компонент, можете задавать здесь.
  • Настройка удаленного рабочего окружения?

    @res2001
    Видимо вы не ту половину гугла листали. Инструкций полно. Начинайте изучать оставшуюся половину.

    Укажите какая ОС стоит домашнем компе.

    Я бы предложил вам настроить на домашнем компе ВПН сервер, пробросите порт для ВПН на роутере, на ноуте настроите ВПН клиент. Хорошо, если на роутере будет статический белый IP.
    А дальше все что угодно через ВПН соединение.
    В качестве ВПН рекомендую OpenVPN - есть версии под любую ОС, куча инструкций по настройке.
  • Как выловить пустую строку при передаче через COm port?

    @res2001
    AlexSer, Если не знаете какой конкретно разделитель строк используется, то просто воспользуйтесь любой универсально программой, умеющей работать с COM портом. Можно сохранить вывод в файл и посмотреть в HEX редакторе, или в самой программе, если она позволяет смотреть полученную информацию в шестнадцатеричном виде. Когда в выводе обнаружится 2 идущих подряд разделителя строки - это и есть конец пакета.
    На счет контрольной суммы - обычно в инструкции к устройству приводят или сам алгоритм (часто приводят сразу Си код), либо указывают какой из стандартных вариантов контрольных сумм используется.
  • Как работает NodeJS?

    @res2001
    Антон Швец, В libuv асинхронность реализована разными способами. Используется оптимальный для конкретной ОС. В Линукс это epoll, во FreeBSD - kqueue, в винде - iocp ...
    На сколько я знаю, асинхронный файловый ввод/вывод в libuv реализован с помощью потоков, т.е. в потоках используются обычные блокирующие операции. Но для ноды все асинхронно.

    bakdurak, Ответ на ваш вопрос содержится в приведенной вами цитате.
  • Безопасное пользование браузером под собственным VPN?

    @res2001
    Из вашего поста не ясно от кого вы пытаетесь шифроваться.
    Судя по тексту от Гугла и Мозилы. А теперь ответьте себе на вопрос - вы действительно делаете что-то такое, что может заинтересовать эти две компании?
    На мой взгляд вы не правильно оцениваете риски. Составьте себе портрет потенциального взломщика и защищайтесь от него.

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

    Так же вариант с виртуалкой вполне не плох. Связать, конечно можно, но для этого надо вас целенаправленно взламывать. Обычно есть пути дешевле и проще, не связанные с интернетом и компьютерами.
  • VC++ 2010 не даёт описать переменную в середине блока - ограничение Express-версии?

    @res2001
    DWZ, Либо они сами собирают не в студии, а из командной строки, используя другой набор параметров компилятора, а не тот что задан в предоставляемом проекте. Выглядит, конечно, довольно странно.
  • VC++ 2010 не даёт описать переменную в середине блока - ограничение Express-версии?

    @res2001
    DWZ,
    А не подскажете, где именно?

    Не подскажу. Возможно в VS2010 еще не было этой опции.
    Попробуйте вариант с /TP. Другой вариант используйте хотя бы VS2013, а лучше актуальную версию.
  • За пределами if созданная структура не видна?

    @res2001
    Apexis,
    Может он указывает на освобожденную, но не занятую память?

    Он указывает на память в стеке, причем этот кусок памяти частично (или весь) может быть уже занят другими переменными (например аргументами result.insert).
    Структура child выделяется в стеке. Память в стеке фактически не освобождается, т.е. стек всегда весь доступен пока исполняется программа. При выходе из области видимости, просто смещается указатель на стек (в регистре процессора) и все, именно по этому считается (и правильно), что выделять переменные на стеке это дешево.
    При этом по сохраненному указателю вы можете обратиться к структуре, которая уже не сущетвует. Но любая объявленная переменная или вызов функции затрет предыдущее содержимое памяти и ваш указатель уже будет указывать не на структуру node, а на что-то другое.
    В общем в коде явная ошибка.
  • Можно ли учиться без ютуба?

    @res2001
    Уже не помню, когда последний раз я изучал какую-то тему по видео на ютубе и мне этого было достаточно.
    Там обычно можно начать для входа в тему с нуля, более углубленное изучение уже по другим материалам.
    Кроме того, видео смотреть - слишком долго.
  • Почему не подключается OpenVPN?

    @res2001
    Вячеслав Шевченко, Вероятно порт openvpn не доступен.
    Проверьте в конфиге клиента правильно ли указан IP, порт и протокол сервера.
  • Подвисание MS Office при VPN соединении. Кто-то сталкивался?

    @res2001
    В Мониторе ресурсов можно легко проверить мысль про
    гнать трафик


    В свое время сталкивался с похожей проблеммой, которая проявлялась при другой ситуации и ВПН не было и офис был 2007.
    Помогала чистка кэшей и временных файлов офиса. Сейчас уже не скажу что конкретно чистил, но думаю в гугле это можно найти. Помню, что чистил целую пачку каталогов, что конкретно из этой пачки помогало не в курсе.
  • На что обратить внимание во время настройки Windows 10?

    @res2001
    John Smith, Да, они работают, конечно.
    Недавно попал в руки ноут, конфиг очень слабый. Хозяйка жаловалась на тормоза, говорит что б хотя бы видосики из инета не тормозили.
    Из ПО стоял аваст, VLC, хром. Понятно, что аваст был основным тормозом. При этом видео в VLC тормозило, смотреть было не возможно. То же самое и с видео в браузере.
    Удалил аваст, включил Защитника. Сам комп стал немного шустрее откликаться, но VLC это не помогло.
    Поставил кодеки k-lite и о чудо через MPC видео смотрится на ура. При этом и загрузка проца уменьшилась примерно в 2 раза. Жаль не проверил как после этого стал VLC работать, т.к. я его то же грохнул.