С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 5

Нет соединения по сокету через connect из Ws2_32

23.04.2014, 22:52. Показов 1360. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Сеть с доменом, HTTP прокся, касперский 10 - без возможности настройки исключений, но можно выключить нажав правой мышки на иконке в трее. Админ то ли не хочет на встречу идти то ли нет полномочий, что бы добавить программу в исключения, в общем говорит что вам платят деньги и это ваши проблемы что, дословно "ваша программа не умеет работать с антивирусами".
Программа с проксями работать умеет и нормально работает на других компах в разных организациях, но на этом компе до FTP и HTTP протоколов дело не доходит - функция connect из Ws2_32 возвращает SOCKET_ERROR, но при этом WSAGetLastError() не выдаёт никаких ошибок (возвращает 0). IE странички открывает нормально через проксю, но на FTP сервер не заходит и не спрашивает логин и пароль (видимо прокся бреет IE при обращении к 21 порту). Функция URLDownloadToFile из urlmon.dll файлы качает но через неё ведь не удобно - ни прогресса, ни FTP.
Снифер не видит подключения на проксю из моей программы. В общем такое ощущение что что-то сразу бреет при попытке сконектиться по сокету с проксёй. Думаю на антивирус, но может что-то ещё? На компе рядом вроде бы нет антивируса, но всё то же самое. Могут какие-то доменные правила что-то блокировать? Или может антивирус даже в выключенном состоянии контролирует сетевые подключения? Опять же почему работает URLDownloadToFile? - Внутри функции наверняка те же сокеты используются. В общем не пойму в чём дело.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.04.2014, 22:52
Ответы с готовыми решениями:

Нет интернет-соединения через кабель
Собственно, какое дело: прихожу домой и обнаруживаю, что на компе интернета нет (пишет сетевой кабель не подключен), с утра был, со...

Нет соединения с и-нетом через браузеры
Помогите пожалуйста нет соединения с и-нетом через браузеры хотя скайп работает хорошои и в хроме всегда открывается его и-нетовский...

Сокеты через Ws2_32.dll
Есть ли у кого работающий пример гет запроса на какой-нибудь сайт ? В нэте всё в DEV-C++ не работает,а знаний что-либо исправить не...

6
 Аватар для Aneron
166 / 164 / 27
Регистрация: 20.04.2010
Сообщений: 607
24.04.2014, 09:47
Антивирь или бредмауэр.
Цитата Сообщение от losthuman Посмотреть сообщение
"ваша программа не умеет работать с антивирусами"
- обратитесь к руководству для выписывания соответствующих "премиальных" админу. Админ просто не хочет выполнять свою работу.
0
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 5
24.04.2014, 16:40  [ТС]
Антивирь или бредмауэр это да, причём, насколько я понял, не на локальной машине, а на шлюзовом сервере, т.к. выяснилось что комп стоящий рядом - без антивируса и тот же самый эффект...
Что интересно, TeamViewer соединяется, TotalCommander тоже подключился к FTP через вариант настройки прокси с USER... снифер показал как он получал данные через "GET ftp://user: pass@host:21/ HTTP/1.0". Интересно каким он идёт путём - в плане подключения? Почему по моим сокетам нет события FD_CONNECT, а тоталовские сокеты конектятся?
0
 Аватар для Aneron
166 / 164 / 27
Регистрация: 20.04.2010
Сообщений: 607
24.04.2014, 16:43
Может нужный порт закрыт?
0
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 5
24.04.2014, 17:32  [ТС]
Всё что идёт в интернет - идёт через проксю, я так же пытаюсь соединиться непосредственно к проксе ip:3333, этот-же ip и порт в тотале задаю - конектится зараза. Значит где-то что-то у меня не так, только вот где?
Сокеты неблокирующие, к конкретным портам через bind их не привязываю - соответственно, как понимаю, они сами привязываются к рандомным портам при установке соединения.
принцип у меня такой (foxpro):

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// создаю сокет:
hSocket = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP)
IF hSocket == INVALID_SOCKET 
 THIS.WS_Error = WSAGetLastError()
// ...
 
// делаю его неблокирующим:
rt1 = 1
IF ioctlsocket(hSocket, FIONBIO, @rt1) == SOCKET_ERROR
  THIS.WS_Error = WSAGetLastError()
//  ...
 
// создаю событие:
hEvent = WSACreateEvent()
 
// на всякий случай cбрасываю событие:
IF WSAResetEvent(hEvent) == 0
 THIS.WS_Error = WSAGetLastError()
// ...
 
// Выбираю ожидаемое событие по сокету:
IF WSAEventSelect(hSocket, hEvent, FD_CONNECT) == SOCKET_ERROR
 THIS.WS_Error = WSAGetLastError()
// ...
 
// Ну и собственно коннекчусь (структура адреса само собой правильная, иначе бы нигде не работало):
IF connect(hSocket, @sockaddr, len(sockaddr)) == SOCKET_ERROR
  THIS.WS_Error = WSAGetLastError()
и вот здесь выполняется условие, а WSAGetLastError() возвращает 0, продолжаю ждать событие и вылет по таймауту...

Кроме в фильтрации по портам мыслей пока нет. Тотал думаю тоже использует рандомные порты - сейчас несколько раз подключался, открывает - 56230...56260 порты.
0
 Аватар для Aneron
166 / 164 / 27
Регистрация: 20.04.2010
Сообщений: 607
25.04.2014, 09:39
Сделай сокеты блокирующими и посмотри что тебе вернет connect.

Добавлено через 5 минут
В общем от события можно отвязаться вот таким способом.
http://http://www.kalinin.ru/programming/network/01_12_00.shtml

Я на вашем месте бы, проверил все на чистой машине без антивирусов и брендмауэров. Если там работал, значит косяк в них.
Просто если бы каждая софтина умела бы обходить антивирусы и брендмауэры, то от них толку бы не было...
0
0 / 0 / 0
Регистрация: 23.04.2014
Сообщений: 5
25.04.2014, 16:39  [ТС]
Спасибо за ссылку, прояснились некоторые моменты в работе с коннектом.
В общем сидел пол дня - перепробовал массу разных вариантов с сокетами, таймаутами - никак.

Буду думать в направлении URLDownloadToFile, попробую запускать в отдельном потоке, что бы хоть как-то контролировать процесс. Поковыряю тоталкомандер отладчиком - может там какая-то специфика есть, через raw-сокеты может работает или ещё чего.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.04.2014, 16:39
Помогаю со студенческими работами здесь

Подойдут ли вентиляторы от сокету 1150 к сокету 1151
Хочу собирать компьютер на сокете 1151 , но не вижу вентиляторов к такому процессору , подойдут ли вентиляторы к сокету 1150. И ещё вопрос...

Как боротся с вирусом a-connect(i-connect,z-connect)
Итак расскажу что за вирус... Этот вирус создает новое подключение VPN a-connect и через 1-2 минуты отключается интернет. Еще создает EXE...

Нет соединения с БД
Добрый день эксперты!Такая проблема-скинули мне сайт готовый,закинул его в денвер как обычно,пытаюсь запустить index.php (запускаю через...

Нет D-sub соединения
Добрый день/ Подключил свой старенький пк к монитору лджи на монике пишет нет дсаб соединения подождите переход в ждущий режим/ ...

Нет соединения
До этого делал то же самое, все норм было. щас написал уже самое простое, ничего не получается( что не так у меня?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru