Получить IP-адрес камеры

#c# #exception #camera #ip

Вопрос:

Я нахожу способ получить все IP-адреса IP-камер, которые подключаются к моему компьютеру через коммутаторы Ethernet в проекте Net 5.0.

Я попытался использовать библиотеку OzekiSDK, предназначенную для Net Framework, для решения этой проблемы:

     void GetIpCameras()
    {
        IPCameraFactory.DeviceDiscovered  = IPCameraFactory_DeviceDiscovered;
        IPCameraFactory.DiscoverDevices();
    }

    private void IPCameraFactory_DeviceDiscovered(object sender, DiscoveryEventArgs e)
    {
        GuiThread(() => DiscoveredDeviceList.Items.Add("Host: "   e.Device.Host   " Port: "   e.Device.Port));
    }

    private void SearchButton_Click(object sender, RoutedEventArgs e)
    {
        DiscoveredDeviceList.Items.Clear();
        IPCameraFactory.DeviceDiscovered -= IPCameraFactory_DeviceDiscovered;

        GetIpCameras();
    }
 

результат: Хост: 192.168.0.148 Порт: 80

Верхний метод работает идеально, но только в том случае, если мой проект был target Net FrameWork, в настоящее время я создаю проект, предназначенный для Net 5.0, со многими библиотеками, предназначенными только для Net, поэтому, если я попытаюсь использовать эту библиотеку, она вернет исключение:

Система.Исключение инициализации типа: ‘Инициализатор типа для ‘Ozeki.Камера.IPCameraFactory» выдал исключение. Исключение FileNotFoundException: Не удалось загрузить файл или сборку » Система.Модель обслуживания.Открытие, Версия=4.0.0.0, Культура=нейтральная, PublicKeyToken=31bf3856ad364e35’. Система не может найти указанный файл.

после этого я подумал, что было бы неплохо поместить этот код в новый проект net Framework, а затем использовать его в качестве ссылки для моего текущего проекта Net 5.0, и оказалось, что результат все тот же. Я надеюсь найти решение для этого.

Комментарии:

1. Согласно документации пространства имен, оно несовместимо с .NET 5. Так что вы не можете использовать его там. Имейте в виду, что .Net Framework и .Net5 несовместимы

2. @TheTanic есть ли способ добиться того же результата без использования библиотеки OzekiSDK .Net Framework? Эта библиотека в основном используется для компьютерного зрения

3. Есть ли у камер трансляция UDP, чтобы идентифицировать себя в сети? Если нет, то библиотека, вероятно, проверяет, открыты ли (а) определенные порты для всех возможных IP-адресов в вашей подсети.

4. Там, в справочнике, они только упоминают . СЕТЕВАЯ структура. Поэтому я бы сказал «нет». Но, может быть, вам стоит связаться с ними. Они должны быть в состоянии помочь вам

5. Поставщики камер, похоже, не находятся на переднем крае поддержки более новых версий .Net. Но они с большей вероятностью обновятся, если получат запросы на это.