Судя по вашей ссылке modbus работает в режиме 8N2 или 8E1, но не 8N1 - это важно, т.к. протокол рассчитан на 11 битный байт, а в 8N1 байт будет содержать 10 бит при передаче.
Пытался таким же переходником RS485-USB с алика (визуально точно такой же) работать с Profibus устройствами - не вышло. Либо ведомое устройство молчит, либо получаю мусор (зависело от ведомого устройства). При этом если объединить 2 таких переходника друг с другом - данные передавались нормально.
После того как заменил переходник на Moxa UPort 1250 все сразу же заработало.
Alewenka, Потому что в документах (doc/xls) могут быть макросы, которые могут быть исполнены при открытии автоматически. Макросы могут содержать зловредный код.
В картинках и прочих файлах нет исполняемого кода. В этом случае используют другой подход - ищут баги в приложениях открывающих эти файлы и пытаются использовать эти баги через специально сформированный файл для выполнения кода внедренного в файл. Это гораздо сложнее, успех мероприятия зависит от многих факторов, например вы должны использовать именно этот софт и его версию с найденной уязвимостью.
Драйвера лучше всего брать с сайта производителя материнской платы или с сайтов производителей оборудования, а не с каких-то левых сайтов.
Драйвера нужно брать под вашу версию винды.
Это практически исключит вариант, кривых драйверов и связанных с этим ошибок.
Останется только вариант - не исправно оборудование. Оборудование можно протестировать загрузившись с какой-нибудь диагностической сборки винды (например adminpe).
Такое тяжелое ПО лучше ставить из пакетов, а не из портов.
То что собираются зависимости - нормальное явление, у большинства портов/пакетов есть зависимости, а у таких тяжелых их много. Часто можно избавится от некоторых зависимостей, задав опции перед сборкой, но это, естественно, скажется на каком-то функционале ПО. То что зависимости собираются из исходников - ни чего удивительного, вы же ставите ПО из портов (т.е. из исходников), оно и все зависимости ставит таким же образом.
Из пакетов то же поставятся те же зависимости, только там это гораздо быстрее происходит, т.к. нет этапа сборки.
На счет ошибки - настоящую ошибку надо искать где-то выше, тут же только краткий итог операции.
Согласен с benipaz - десктопная винда однопользовательская в принципе. Да там можно "переключить" сеанс без завершения, но одновременно активным (т.е. пользователь может с ним работать) все равно может быть только один сеанс.
Для полноценной многопользовательской работы нужен Windows Server или ломать винду и лишаться лицензии. Владимир Коротенко,
Автовыкидфвание пользователя настраивается в политиках.
Дайте ссылку на политику? Буду только рад, если вы окажетесь правы :-)
Urilobus, Скорее всего вы не правильно понимаете, т.к. память виртуальная и в 64битных системах большой запас виртуального адресного пространства, а если ваши матрицы не будут влазить в физическую память - не важно, память то виртуальная.
Если же у вас будут большие разреженные матрицы, то вам нужно использовать другие структуры для хранения данных, скорее всего хэш таблицы.
Александр Совушкин, Не уверен, что RDPWrapper оставляет после себя следы установки. По моему его и откатить/деинсталлировать нельзя. Но могу ошибаться, я уже несколько лет его не использовал.
Александр Совушкин, Ниразу с такой ошибкой не сталкивался.
Нет, это не уязвимость. RDPWrapper подменяет библиотеки RDP на их аналоги от Windows Server и патчит какую-то системную либу, чтоб отключить проверку активных сеансов.
Примерно так. Видимо на компе стоит этот самый RDPWrapper.
И в конструкторе копирования и в операторе присваивания вы не проверяете выделена ли уже память в Mat_1, просто перезаписываете указатель. Из-за этого, если объект уже был ранее сконструирован и память выделена, то будет утечка памяти.
Ну и если вам не безразлично быстродействие вашей программы, то выделяйте память одним большим куском размером Mat.rows_num * Mat.cols_num, а не как сейчас - под каждую строку матрицы свой массив. Дело в том, что в вашем случае каждая строка будет располагаться в памяти где-то в своем месте, не обязательно рядом с другими строками. Когда выделите память одним куском, то весь массив будет находится в одном месте и попаданий в кэш будет гораздо больше, что положительно скажется на производительности операций с матрицей.
Joe Doe, С точки зрения разработчика библиотеки - да.
С точки зрения пользователя библиотеки разница в том, что dll/static вы подключаете к проекту уже собранные бинарные модули (и исходники могут быть не доступны, кроме заголовков разумеется), а в HOL - исходники.
5.1. Так же можно подумать на счет того, что бы производить замену "на месте" и только если результирующая строка больше - выделять память. Кстати, строка не обязательно должна занимать весь буфер, т.е. буфер под str1 вполне может быть больше строки в нем лежащей, поэтому есть смысл в параметрах передавать и размер буфера (не размер строки, смотрите строковые функции из стандартной библиотеке с суффиксом _s) и ориентироваться на него при вычислении необходимости релокации памяти.
Чтоб не было нарушения ODR используйте "header guards", впрочем это касается всех файлов заголовков.
Ну может еще использовать namespace для всех сущностей в библиотеке.
Порты SMB стандартные, если вы их прокинете с другим номером порта, то ничего работать не будет - SMB клиент использует только стандартные порты. И на сколько я знаю там не один порт tcp/445, а целая пачка портов, и не только TCP, но и UDP.
Проще всего поднять VPN на Windows Server и получать доступ через ВПН, а не публиковать порты SMB в интернет. Кроме всего прочего, это еще может быть и не безопасно.
ValdikSS, Скрипт и конфиги просмотрел, пока не тестировал. Позже попробую.
В целом подход понятен. Считаю, что даже такой простой пример вполне годен для начала собственных экспериментов.
Спасибо за то, что делишься своим опытом! Жду статью.
nping используется в yml файлах, которые лежат в подкаталоге .github/workflow, там же и максимально подробные комментарии.
В начале readme написано, что скрипт предназначен для обхода NAT в Github Actions для получения доступа к ВПН на сервере Actions. Обходится тут NAT Github Actions. yml файлы используются в Actions для конфигурирования заданий.
Так что это не универсальная инструкция, работающая везде, а пример работающего обхода NAT для конкретной ситуации и конфигурации.
то у других набор символов даже у тех кто разбирается в этом.
Те кто немного разбираются могут посмотреть скрипт и yml, понять что там делается, адаптировать под себя.
Евгений Карпов, Не запускается или клиент не подключается? Это разные вещи и диагностируются по разному.
Я не разбираюсь в самбе, но общий алгоритм такой: если служба не стартует (это можно выяснить например по наличию запущенного процесса службы или по открытым сетевым портам, используемым службой), смотрим лог, выясняем там ошибку, исправляем ошибку, тестируем. Если лога нет, то в конфиге включаем логирование и повышенный уровень сообщений и снова тестируем.
Если самба запустилась, но клиент не подключается - проверяем фаервол на наличие там правил разрешающих трафик самбы.
Судя по вашей ссылке modbus работает в режиме 8N2 или 8E1, но не 8N1 - это важно, т.к. протокол рассчитан на 11 битный байт, а в 8N1 байт будет содержать 10 бит при передаче.