powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / программно выполнить "восстановить" коннект
10 сообщений из 10, страница 1 из 1
программно выполнить "восстановить" коннект
    #34465411
MsDatabaseru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем доброго времени суток!

win2003
iis6
outpost firewall

иногда блокируется сетевой интерфейс смотрящий в инет
при этом сервер не пингуется извне

помогает выбор repair из контекстного меню на инетовском коннекте.
замена сетевой карты не помогла

в качестве временной меры думаю сделать программное восстановление
на будущее кончно хотелось бы устранить багу

собственно вопрос:
как выполнить "восстановить" для коннекта программно

Заранее благодарен за ответы
...
Рейтинг: 0 / 0
программно выполнить "восстановить" коннект
    #34465669
ЛП
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А может как-нибудь причину болезни попробовать устранить, а не лечением последствий заниматься?
...
Рейтинг: 0 / 0
программно выполнить "восстановить" коннект
    #34465717
MsDatabaseru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пробовал, включил всевозможные ерор логи - ничего
файрвол отключал - не помогает

нашел даже способ воспроизведения ошибки
ошибка гарантировано возникала пи скачивании 5 мегабайтного файла MSI на 97% происходит зависон причем виснет именно сетевой интерфейс а не iis ибо не отвечает и rdp
...
Рейтинг: 0 / 0
программно выполнить "восстановить" коннект
    #34466386
MsDatabaseru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наблюдения:
отключение кабеля от сети/включение - не восстанавливает
disable/enable для сетевой карты в девайс менеджере - восстанавливает
netsh interface reset all - не восстанавливает
...
Рейтинг: 0 / 0
программно выполнить "восстановить" коннект
    #34467480
IcyCool
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MsDatabaseruсобственно вопрос:
как выполнить "восстановить" для коннекта программно
Проследить в Spy++ (или подобных утилитах) посылаемое сообщение и написать програмулину, которае будет периодически его (сообщение) посылать (надеюсь, лишьний раз не мешает!?)
...
Рейтинг: 0 / 0
программно выполнить "восстановить" коннект
    #34468330
MsDatabaseru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
насколько я понимаю spy++ можно отследить сообщения окна
те движение мыши и нажатие правой клавиши мыши.
но как понять вызов какой библиотеки происходит при нажатии "репайр"
...
Рейтинг: 0 / 0
программно выполнить "восстановить" коннект
    #34468432
MsDatabaseru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нашел в реестре такую запись
@netshell.dll , -1575 repair this connection

поиск апи функций/примеров использования в инете netshell.dll ничего не дал (
...
Рейтинг: 0 / 0
программно выполнить "восстановить" коннект
    #34474464
IcyCool
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MsDatabaseruнасколько я понимаю spy++ можно отследить сообщения окна
те движение мыши и нажатие правой клавиши мыши.
но как понять вызов какой библиотеки происходит при нажатии "репайр"
Неважно вызов какой библиотеки происходит. Выбор пункта мены приводит к посылке какого нибудь (обычно WM_COMMAND) сообщения активному (или главному) окну. Чтобы не запутатся в большом количестве сообщений, используй фильтр.
Узнав сообщение и его параметры (wParam, lParam) направляеш такое же сообщение и все должно отработать.
...
Рейтинг: 0 / 0
программно выполнить "восстановить" коннект
    #34475762
MsDatabaseru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
посылка сообщений окнам (эмуляция действий пользователя) это будет слишком плохой тон программирования

помогает из коммандной строки
Код: plaintext
1.
netsh dump > c:\ws.txt
netsh -f c:\ws.txt
но недостаток что передергиваются все адаптеры

накопал wmi код
но почемуто метод reset не работает, хотя в списке методов есть и в доке тоже
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

regValueDataMetric = "35"

Set colItems = objWMIService.ExecQuery _
("Select * From Win32_NetworkAdapter Where NetConnectionID = 'Local Area Connection'")

For Each objItem In colItems
strMACAddress = objItem.MACAddress
Debug.Print "MACAddress: " & strMACAddress

Debug.Print objItem.Reset()

Next
...
Рейтинг: 0 / 0
программно выполнить "восстановить" коннект
    #34479330
MsDatabaseru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так и не разобрался в причинах этой траблы.
в результате пока остановился на том что написал утилиту которая с заданным интервалом пингует стороний постояннодоступный ресурс и в случае непрохождения пинга перезагружает сетевую конфигурацию.
перезагрузка конфигурации никак не отражается на работающих программах, существующие коннекты сохраняются, поэтому дополнительных неудобств нет.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / программно выполнить "восстановить" коннект
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]