Сокет соединение на основе MAC-адреса в C #

1

Хорошо, поэтому этот вопрос возникает из-за использования камер серии cognex dataman. В этом случае камера всегда выступает в качестве сервера и что-то подключается к ней как к клиенту. Когда мы получаем эти камеры, они всегда находятся в странной подсети. например: 192.168.5.x и мой офис и моя рабочая станция находятся на 192.168.2.x. Поэтому мои ограниченные сетевые знания говорят, что я не могу разговаривать с камерой.

Странная вещь - инструмент настройки камеры данных позволяет мне подключаться к нему через MAC-адрес, и мне было интересно, как это работает под обложками.

Есть ли способ открыть сокет через mac-адрес в одиночку, минуя ip-адрес?

Причина, по которой я спрашиваю, заключается в том, что я работаю над системой аудита, которая использует, по-видимому, 3 камеры на машину и говорит 10 машин на заводе. то есть 40 ip-адресов в целом с камерами также видны.

Было бы здорово освободить эти 30 камер, поставив их в какую-то другую подсеть и поговорив с ним по программному обеспечению с помощью MAC-адреса...

Это сообщение, скорее всего, раскрывает мою нехватку сетевых знаний, но я не нашел хорошего ответа на мой вопрос в серии трубок.

Во всяком случае приветствия и благодарности!

Теги:
macos
sockets

1 ответ

1
Лучший ответ

192.168.5.x и мой офис и моя рабочая станция находятся на 192.168.2.x. Поэтому мои ограниченные сетевые знания говорят, что я не могу разговаривать с камерой

Это верно, но вы можете настроить сервер (или, если это дорого, компьютер с двумя сетевыми картами тоже будет делать), чтобы связать их, хотя, если у вас нет квалифицированного ИТ-специалиста, который может легко это сделать, я предлагаю, чтобы это было ваш последний вариант.

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

Считыватель может также генерировать файл конфигурации устройства Cognex (.cdc), который хранит набор параметров времени выполнения плюс любые идентификационные данные, такие как имя устройства, его IP-адрес, маску подсети и т.д. Cognex рекомендует создать файл конфигурации устройства для чтения, чтобы вы могли восстановить читателя в его рабочее состояние с минимальными усилиями

Источник: Google cached document - Краткое справочное руководство DataMan 300 Series

Кажется, есть файл .cdc, хранящийся на камерах, которые содержат информацию о такой информации, как сетевые конфигурации. Наверное, ты должен смотреть глубже в это.

Есть ли способ открыть сокет через mac-адрес в одиночку, минуя ip-адрес?

Для создания соединения с использованием только MAC-адреса невозможно, особенно не используя соединение сокета, поскольку они поддерживают только IP-адреса.

Хотя, когда вы исправляете проблему подсети, камеры появятся в таблице ARP (протокол разрешения адресов), которую предлагает CMD (Command Prompt) Windows.

ARP - это одна из команд, которую слушает CMD, она отображает все IP и MAC-адреса (вместе) всех устройств внутри вашего интерфейса (ваш интерфейс - 192.168.2.X).

С# может запускать процессы, например CMD, и также может передавать аргументы:

System.Diagnostics.Process.Start("cmd.exe", "arp -a");

Эта ссылка поможет вам выполнить команду ARP в CMD и получить ее результаты с помощью С#.

Удачи!

  • 0
    Фантастически, я подозревал, что никакая связь с Mac не будет возможна, но это подтверждает это. Очень полезное спасибо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню