У меня есть программа, которая настраивает интерфейс 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));
Есть ли что-нибудь еще, что я мог сделать с этим сокетом для проверки подключения?
Любая помощь будет принята с благодарностью!
Задача ещё не решена.