Есть ли способ реализовать в программе C следующую опцию: это - потребность к созданию исходящих соединений TCP через указанный сетевой интерфейс? как пример:
eth0 - 172.16.0.1 eth1 - 192.168.1.1
В некотором случае я - потребность установить исходящие связи от исходного адреса 172.16.0.1, и при некоторых других обстоятельствах от 192.168.1.1.
Действительно ли это возможно? Это, может быть достигнут с, связывают () стандартную программу?
TIA.
Используйте параметр командной строки для присвоения локального адреса следующим способом
структура sockaddr_in localaddr;
localaddr.sin_family = AF_INET;
localaddr.sin_addr.s_addr = inet_addr ("172.16.0.1");
localaddr.sin_port = 0;//Любой локальный порт сделает
, связывают (sockfd, (структура sockaddr *) & localaddr, sizeof (localaddr));
И когда Вы хотите использовать другой IP затем, используют его вместо 172.16.0.1