1

我有一个程序可以在运行 QNX 环境的远程机器上配置以太网接口,用于ifconfig分配 IP 地址、网络掩码和默认网关。我现在需要一种方法来确定以太网接口是否具有有效的配置,以便我能够远程连接。

例如,将“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));

我还能用这个套接字做些什么来验证连接性吗?

任何帮助将不胜感激!

4

0 回答 0