Winsock Connect() висит в одной сети, но не в другойC++

Программы на C++. Форум разработчиков
Anonymous
Winsock Connect() висит в одной сети, но не в другой

Сообщение Anonymous »

У меня возникли проблемы с использованием функции Connect(). Раньше мой код полностью работал, но теперь я перешел в другую физическую сеть, и мой блокирующий вызов Connect() больше не работает и, кажется, просто зависает на неопределенный срок. Прием широковещательных сообщений через UDP по-прежнему работает нормально. Возвращаясь к старой сети, все снова работает нормально. Я не могу хоть убей понять, почему это работает в одной сети, а не в другой. Я проверил настройки брандмауэра, они верны. Что может происходить?

У меня используется заранее определенный порт, и я получаю адрес из широковещательной рассылки. Я использую receivefrom для получения трансляции и устанавливаю исходящий IP-адрес от нее
ret = recvfrom (bcast, bcast_read,sizeof(j4cDAC_broadcast),0,(sockaddr*)&from,&size);

to.sin_addr = from.sin_addr;

local.sin_addr.s_addr = inet_addr("0.0.0.0");

Тогда для TCP-соединения у меня есть

dac = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);

// cout

Подробнее здесь: https://stackoverflow.com/questions/854 ... ot-another

Вернуться в «C++»