Используйте сокет C ++ для проверки конфигурации интерфейса Ethernet в QNX

У меня есть программа, которая настраивает интерфейс Ethernet на удаленной машине, на которой запущена среда QNX, которая использует ifconfig назначить IP-адрес, маску сети и шлюз по умолчанию. Теперь мне нужен способ определить, имеет ли интерфейс Ethernet допустимую конфигурацию, к которой я смог бы подключиться удаленно.

Например, присвоение «127.0.0.1», «255.255.255.255» или «0.0.0.0» в качестве IP-адресов должно быть признано недействительным, поскольку даже если они являются действительными IP-адресами, я не смог бы установить удаленное соединение с этими ,

Мне нужен способ для приложения C ++, чтобы проверить, что конфигурация действительна и может быть подключена.
Я слышал, что один из способов сделать это — попытаться создать сокет, но мне пока не повезло. Мне удалось создать сокет с «0.0.0.0» в качестве IP-адреса так же легко, как действительный.
Возможно я просто не делаю это правильно.

int sock = socket(AF_INET, SOCK_STREAM, 0);
struct sockaddr_in ipaddr;
ipaddr.sin_family = AF_INET;
inet_pton(AF_INET, "0.0.0.0", &ipaddr2.sin_addr);
bind(sock2, (struct sockaddr *) &ipaddr2, sizeof(ipaddr2));

Есть ли что-нибудь еще, что я мог сделать с этим сокетом для проверки подключения?

Любая помощь будет принята с благодарностью!

1

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]