• Как правильно обработать исключение?

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

    Зачем 3 SQLiteCommand и SQLiteDataReader? Одного не хватило? Туда же 3 цикла чтения данных...

    Для начала ознакомьтесь с документацией (похоже не только к используемым модулям, но и по языку), т.к. сейчас это больше похоже на мешанину кода.

    Учитывая, что отмечен статус студента, ряд советов:
    • SQL позволяет читать несколько (хоть все) столбцы записи
    • методы могут возвращать объекты какого-то типа, у которых соответственно есть свои методы. Получение значения по имени столбца - это тоже метод, который возвращает объект.
  • Парсер, парсит только первые 4 термопасты OZON. Почему?

    @AVSomov
    Проверяли количество элементов в items? Предполагаю, что ошибка в выборке элементов на странице. Учитывая, что Ozon пользуется методами затруднения парсинга своих страниц, думаю, что в одну строку это сделать не получится.
  • Почему клиент на Java не может подключиться к серверу (на сокетах)?

    @AVSomov
    Tester17, судя по скрину роутер отвечает, что порт закрыт (флаги RST,ACK в ответ на инициацию TCP-сеанса).

    Т.е. нужно разобраться с корректной настройкой маршрутизации на роутере.

    Как вариант можно инициировать подключение к своему внешнему белому адресу через внешний VPN (при этом понадобиться настроить маршрутизацию на своём компьютере).

    В общем рекомендация, в любом случае, пополнить свои знания в области маршрутизации пакетов в сетях IPv4.
  • ICMP tunnel на c#?

    @AVSomov
    mIka01, да, можно.
    Так понимаю, что речь про клиента, то в этом случае следует переписать на использование Socket вместо Ping.

    Но вероятнее всего, что это будет работать только в локальном сегменте сети, т.к. корректно настроенные маршрутизаторы отфильтруют пакеты с некорректным адресом из локального сегмента.
  • ICMP tunnel на c#?

    @AVSomov
    Судя по скрину (удобнее же текст...) ошибка на строке socket.Bind - рекомендую ознакомиться с документацией к этому методу, обрати внимание на эту заметку:
    If you receive a SocketException when calling the Bind method, use the SocketException.ErrorCode property to obtain the specific error code. After you have obtained this code, refer to the Windows Sockets version 2 API error code documentation for a detailed description of the error.


    Судя по сообщению было сгенерировано исключение с ошибкой:
    WSAEADDRNOTAVAIL - 10049 - Cannot assign requested address.
    The requested address is not valid in its context. This normally results from an attempt to bind to an address that is not valid for the local computer. This can also result from connect, sendto, WSAConnect, WSAJoinLeaf, or WSASendTo when the remote address or port is not valid for a remote computer (for example, address or port 0).


    Т.е. причина в том, что 142.250.74.196 - это адрес в сети Google, который, очень вероятно, не является адресом интерфейса компьютера, на котором запускаешь код сервера.

    PS: Если всё же не читал внимательно ссылки, что прикладывал ранее, то обращаю внимание, что приведённый ранее код будет работать только под Windows из-за использования WinSock.
  • ICMP tunnel на c#?

    @AVSomov
    ок, здесь выдает ошибку.
    Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Raw, ProtocolType.Icmp);

    mIka01, описание ошибки малоинформативное.
    Пожалуйста, укажи подробности:
    1. текст ошибок и\или предупреждения компилятора
    2. версию компилятора
    3. примеры параметров запуска и вывода утилит, где видны ошибки (текстом по возможности)
    4. любую дополнительную информацию о среде сборки и выполнения


    И ещё может это косяк Packet Crafting но в полученных данных нету пакета информации или он битый.

    Есть некоторое предположение, что с минимальной информацией не ознакомился, т.к. формулировка "в полученных данных нет пакета информации" - предполагает, наличие некоторого "отдельного пакета данных", хотя согласно задаче используется 2 типа пакетов: IP и вложенный в него ICMP - других "пакетов" стандарт не предполагает.
    Поясню шаги по алгоритму:
    На клиенте:
    1. Создаём экземпляр класса Ping для отправки ICMP-пакета по указанному адресу с типом Echo request, время ожидания ответа сервера 128 мс и выставленным у IP-пакета флагом DF(Don't Fragment), в сегмент данных вносится бинарное представление в ASCII переданной строки.
    2. Ожидаем ответ Echo Reply от получателя в этом случае выводим на экран соответствующее уведомление


    На сервере:
    1. Создаётся экземпляр Raw-сокета IPv4 для пакетов ICMP
    2. Связываем сокет с переданным адресом интерфейса сервера
    3. Переводим сетевую карту в promiscuous mode - необходим для получения всех пакетов получаемых сетевой картой
    4. В цикле опрашиваем сокет на наличие новых пакетов (сокет настроен на ICMP)
    5. Если тип сообщения соответствует Echo request, то передаём его на обработку, иначе игнорируем
    6. Если размер пакета меньше 28 байт, то считаем, что сообщения в пакете нет [1], иначе выводим содержимое в виде hex и ASCII-строки


    [1] Тут стоит отдельно отметить, что смещение может отличаться от 28, т.к. по умолчанию, если в IP пакете задана минимальный размер заголовка (равный 5 32-х битных слов), то заголовок ICMP пакета начинается с 20-го байта, где 20 - тип сообщения, 21 - код, 22 и 23- контрольная сумма, далее для типа 8 (Echo request) идёт 24 и 25 - это идентификатор пакета, 26 и 27 - номер последовательности, далее идёт сегмент данных.

    Если под ошибками понимается отсутствие вывода каких-либо сообщений (хотя это вполне можно было зафиксировать добавив вывод в ветки else - для демонстрационного примера это не требуется), то наиболее вероятные причины:
    • Согласно таблицы маршрутизации пакет уходит к другому узлу, а не к ожидаемому серверу
    • Размер пакета (28 байт + длина сообщения) превышает MTU сетей, через которые проходит пакет, как следствие он отбрасывается из-за флага DF
    • Брандмауэр клиента\сервера блокирует отправку\получение ICMP-пакетов
    • Время ожидание ответа с сервера превышает 128 мс (вывода на стороне клиента не будет)


    В любом случае для диагностики проблем передачи пакетов в сети рекомендую воспользоваться сниффером, например, Wireshark, - посмотреть реальное содержимое пакетов (отправляемых и получаемых) на клиенте и на сервере.
  • ICMP tunnel на c#?

    @AVSomov
    mIka01, если ошибки по коду выше, то лучше писать здесь, чтобы следующим читателям эта информация была доступна.
  • Проблемы по установки Windows?

    @AVSomov
    Рекомендую улучить оформление вопроса:
    • Заменить фото на оригинал, без перевода
    • Повернуть фото
    • Дать подробное описание: что уже делали и результаты
  • Как перенести винду с умершего жёсткого?

    @AVSomov
    Что значит "сдох"?
    Т.к. если под этим понимается "отсутствие доступа к данным на нём", то Windows на нём - это тоже данные, следовательно и к ней нет доступа.
    Если же под этим понимается другое поведение устройства, например, "не загружается Windows" - то требуется подробнее описать его.
  • Как загрузить google foto на google disk на win7?

    @AVSomov
    Евгений М, выгрузить на компьютер и загрузить в Google Disk.

    Для чего требуется выполнить такое дублирование информации? Если только поделиться - есть способы проще.

    Стоит учитывать, что если Google Photo активно использовался в режиме "высокого качества" (когда размер загружаемого материала не учитывался в лимитах сервиса, в противовес "исходному качеству"), то после копирования на Google Disk - будет учитываться (а это влияет и на остальные сервисы, например, Gmail).
  • OSError: [WinError 123] Синтаксическая ошибка в имени файла, имени папки или метке тома: '' что делать?

    @AVSomov
    Заголовок не соответствует ошибке, т.к. вот она:
    ModuleNotFoundError: No module named 'allauth'
  • Как реализовать сервис услуг "запись к кому-то(доктор, психолог и т.д.)"?

    @AVSomov
    Рекомендую оценить, что хуже для данного конкретного проекта, работать:
    • только с периодами - тогда, чтобы получить список свободных интервалов потребуется сформировать список всех возможных интервалов для заданного диапазона (способ зависит от версии, рекомендую посмотреть в сторону cte-запросов) с длительностью и перебрать занятые, исключая их из списка всех
    • с таблицей интервалов - увеличивает потенциальный объём данных, но существенно упрощает получение списка свободных


    Т.е. фактически приходим к вопросу о границах проекта, т.к. узким местом является ЦП+ОЗУ или диск.

    PS: по моему опыту, получать список свободных интервалов будут очень часто, а создание новых периодов - гораздо реже. К тому же дисковое место во многих проектах не выделяется как существенно ограничение.
  • Ошибка при запуске MariaDB после переноса datadir с HDD на SSD. В чём может быть дело?

    @AVSomov
    В этом случае проверьте настройки AppArmor или SELinux:
    https://blogs.oracle.com/jsmyth/entry/apparmor_and...
    https://blogs.oracle.com/jsmyth/entry/selinux_and_mysql

    PS: хотя можете и оставить, как уже сделали через симлинк.
  • Как автоматизировать создание документов в СЭД?

    @AVSomov
    Вы описали абстрактный процесс, но просите ссылку на конкретный инструмент решения проблемы (хотя сами уже пользуетесь одним).
    Рекомендую для себя составьте этапы процесса по пунктам. Выделите те, которые не знаете как решить с имеющимися средствами и укажите их. Вероятно решением будет использование комплекса программ.