почему при создании клиентской программы мы передаем ip хоста, к которому хотим подключиться, вот так:
their_addr.sin_addr = *((struct in_addr *)he->h_addr);
но это не работает
their_addr.sin_addr.s_addr = inet_addr("192.168.1.3");
но когда мы создаем серверную программу, это работает:
local_addr.sin_addr.s_addr=INADDR_ANY;
При создании клиента вы хотите подключиться к определенному серверу.
Когда вы создаете сервер, вы (обычно) хотите принимать соединения через все локальные IP-адреса.
Ситуации несопоставимы.
Других решений пока нет …