powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как установить тип подключения?
50 сообщений из 50, показаны все 2 страниц
Как установить тип подключения?
    #38658548
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет всем!

Скажите, как можно по-быстрому установить тип подключения.
Например, пользователь запустил программу и мне нужно проверить какой у него интернет - 3G, 4G, WiFi и др.?

Какие классы лучше использовать, чтобы по-быстрому определить?
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38658632
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И что от этого изменится?
На какой стороне планируете проверять?
На каких платформах это должно работать?
Win 8.x http://code.msdn.microsoft.com/windowsapps/Network-Information-Sample-63aaa201
( http://blogs.msdn.com/b/windowsappdev/archive/2013/04/10/creating-connected-windows-store-apps.aspx)
Т.е. тут контекст задачи интересен...
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38658666
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Контекст задачи такой: проверяем, не является ли соединение "для мобильников" (3G,4G).
Если да, то не "общаемся" с сервером и ничего оттуда не качаем и не заливаем, т.к. это дорого.
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38658688
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересный вопрос, можно конечно посмотреть что, IPCONFIG /ALL дает, но это как бы..
Ты случаем не на Сейшеллы работаешь?
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38658694
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fortibransaИнтересный вопрос, можно конечно посмотреть что, IPCONFIG /ALL дает, но это как бы..
Ты случаем не на Сейшеллы работаешь?

нет, не на Сейшеллы.
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38658695
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
система при подключении запоминает ведь тип соединения? нужно только понять где это всё лежит, поэтому я и спрашиваю.

Объём данных очень большой и переправлять их через мобильное соединение 3G или 4G дорого.
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38658940
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Students,
-
Бессмысленные телодвижения. Модем зачастую прикидываемся ethernet'Ом
Маршрутизатор с модемом - тогда обычное соединение проводное или беспроводное
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38658946
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилStudents,
-
Бессмысленные телодвижения. Модем зачастую прикидываемся ethernet'Ом
Маршрутизатор с модемом - тогда обычное соединение проводное или беспроводноеИ допусти wifi в офисе.
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38658993
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
up
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659038
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смысл такой: интернет через usb-модем, 3G, 4G и т.д. очень дорогой и соединяться с сервером, чтобы скачивать и заливать файлы нельзя.

Это возможно как-то определить, - какой вид подключения к интернету у пользователя?
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659046
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
возможно где-то в реестре информация о текущем подключении записана...
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659083
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если я на мобиле c 3G/3G раздаю этот интернет через WiFi, а другим компом пользую этот WiFi, то с компа ты не узнаешь тип подключения никак и просадишь все деньги на мобиле

Ну, разве что, делать tracert и анализировать типовые подстроки, типа mts, skylink и т.п.
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659109
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProЕсли я на мобиле c 3G/3G раздаю этот интернет через WiFi, а другим компом пользую этот WiFi, то с компа ты не узнаешь тип подключения никак и просадишь все деньги на мобиле

Ну, разве что, делать tracert и анализировать типовые подстроки, типа mts, skylink и т.п.

нет, мне так сложно не нужно.

нужно только узнать тип подключения текущего устройства, на котором программа установлена и всё. Это вообще возможно?
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659138
Фотография Нахлобуч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Studentsнет, мне так сложно не нужно.

нужно только узнать тип подключения текущего устройства, на котором программа установлена и всё. Это вообще возможно?
На восьмерке можно дернуть GetInternetConnectionProfile
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659164
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
НахлобучStudentsнет, мне так сложно не нужно.
нужно только узнать тип подключения текущего устройства, на котором программа установлена и всё. Это вообще возможно?
На восьмерке можно дернуть GetInternetConnectionProfile
Так он не колется под каку платформу... я ужо присылал...
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659318
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
StudentsShocker.ProЕсли я на мобиле c 3G/3G раздаю этот интернет через WiFi, а другим компом пользую этот WiFi, то с компа ты не узнаешь тип подключения никак и просадишь все деньги на мобиле

Ну, разве что, делать tracert и анализировать типовые подстроки, типа mts, skylink и т.п.

нет, мне так сложно не нужно.

нужно только узнать тип подключения текущего устройства, на котором программа установлена и всё. Это вообще возможно?
Кто задачу ставил?
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659610
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилStudentsпропущено...


нет, мне так сложно не нужно.

нужно только узнать тип подключения текущего устройства, на котором программа установлена и всё. Это вообще возможно?
Кто задачу ставил?

Заказчик.
Сказали, что если мобильный интернет или подключаемся через USB-модем 3g, 4g и т.п., то соединяться с серваком и обмениваться данными не нужно, т.к. дорого. Только если прямое подключение.

Вообще - это возможно определить тип подключения или нет?
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659611
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так все таки: если подключение через WiFi - это считается прямым подключением или нет?
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659616
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProТак все таки: если подключение через WiFi - это считается прямым подключением или нет?

хз, про WiFi ничего не говорили.
вы можете ответить - тип подключения возможно установить и какие классы для этого лучше использовать?
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659627
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WiFi - это не тип подключения?
тогда что тип подключения?
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659635
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Students, смотри метод NetworkInterface.GetAllNetworkInterfaces() . Вот пример взятый со stackoverflow :
Код: 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.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
/// <summary>
/// Indicates whether any network connection is available
/// Filter connections below a specified speed, as well as virtual network cards.
/// </summary>
/// <returns>
///     <c>true</c> if a network connection is available; otherwise, <c>false</c>.
/// </returns>
public static bool IsNetworkAvailable()
{
   return IsNetworkAvailable(0);
}

/// <summary>
/// Indicates whether any network connection is available.
/// Filter connections below a specified speed, as well as virtual network cards.
/// </summary>
/// <param name="minimumSpeed">The minimum speed required. Passing 0 will not filter connection using speed.</param>
/// <returns>
///     <c>true</c> if a network connection is available; otherwise, <c>false</c>.
/// </returns>
public static bool IsNetworkAvailable(long minimumSpeed)
{
   if (!NetworkInterface.GetIsNetworkAvailable())
       return false;

   foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces())
   {
       // discard because of standard reasons
       if ((ni.OperationalStatus != OperationalStatus.Up) ||
           (ni.NetworkInterfaceType == NetworkInterfaceType.Loopback) ||
           (ni.NetworkInterfaceType == NetworkInterfaceType.Tunnel))
           continue;

       // this allow to filter modems, serial, etc.
       // I use 10000000 as a minimum speed for most cases
       if (ni.Speed < minimumSpeed)
           continue;

       // discard virtual cards (virtual box, virtual pc, etc.)
       if ((ni.Description.IndexOf("virtual", StringComparison.OrdinalIgnoreCase) >= 0) ||
           (ni.Name.IndexOf("virtual", StringComparison.OrdinalIgnoreCase) >= 0))
           continue;

       // discard "Microsoft Loopback Adapter", it will not show as NetworkInterfaceType.Loopback but as Ethernet Card.
       if (ni.Description.Equals("Microsoft Loopback Adapter", StringComparison.OrdinalIgnoreCase))
           continue;

       return true;
   }
   return false;
}

...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659642
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это не то, этот метод возвращает, - есть ли подключение или нет (true/false), а мне нужен тип подключение
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659653
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Students, то что метод stackoverflow определяет только доступность сети, не означает что его нельзя переделать под твой сценарий. Метод NetworkInterface.GetAllNetworkInterfaces() возвращает массив SystemNetworkInterface у которого есть свойства NetworkInterfaceType, Name и Description. С их помощью можно по идее определить тип подключения.
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659701
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazileStudents, то что метод stackoverflow определяет только доступность сети, не означает что его нельзя переделать под твой сценарий. Метод NetworkInterface.GetAllNetworkInterfaces() возвращает массив SystemNetworkInterface у которого есть свойства NetworkInterfaceType, Name и Description. С их помощью можно по идее определить тип подключения.

код вернул 4 соединения: Ethernet, Loopback, Tunnel, Tunnel.

http://msdn.microsoft.com/ru-ru/library/system.net.networkinformation.networkinterfacetype(v=vs.110).aspx

А как определить, что соединение через USB-модем, 3g, 4g, - это всё GenericModem?
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659715
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у соединения через USB-модем МТС NetworkInterfaceType = Ethernet, так что этот код не прокатывает.
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659717
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Students, не знаю. Подключись к инету через usb-модем и проверь.
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659732
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazileStudents, не знаю. Подключись к инету через usb-модем и проверь.

подключился. у свойства NetworkInterface.NetworkInterfaceType значение Ethernet, как и у прямого подключения.
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659733
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
возможно, определить тип текущего подключения невозможно?
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659735
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Students, а в Name/Description что?
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659751
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazileStudents, а в Name/Description что?

В Description "Mobile Connection 3G", но не факт что у всех usb модемов будет description
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659758
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть у кого-нибудь какие идеи ещё?
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659768
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Students, стопроцентной гарантии наличия осмысленного Description никто не даст, но в большинстве случаев он все таки должен быть. Так что я бы писал код ориентируюсь на него. Для полной надежности можно добавить диалог с вопросом можно ли передавать данные. Пусть пользователь явно дает разрешение на передачу. Уж он то должен знать каким образом подключен к интернету.
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659775
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazileStudents, стопроцентной гарантии наличия осмысленного Description никто не даст, но в большинстве случаев он все таки должен быть. Так что я бы писал код ориентируюсь на него. Для полной надежности можно добавить диалог с вопросом можно ли передавать данные. Пусть пользователь явно дает разрешение на передачу. Уж он то должен знать каким образом подключен к интернету.

настройка есть, нужно первый раз по-умолчанию чекбокс ставить, если это usb-модем 3g или 4g, вот с этим и проблема.
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659859
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Students,

По умолчанию - запретить и задать вопрос без всякого гадания на кофейной гуще(напоминаю про модем в роутере )
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659913
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилStudents,

По умолчанию - запретить и задать вопрос без всякого гадания на кофейной гуще(напоминаю про модем в роутере )


Ну, так чтоб запретить, нужно знать какой тип соединения у пользователя. Может он зашёл через WiFi в МакДаке или через дорого c 4G помощью usb-модема, тогда связь не устанавливаем.
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38659927
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Students,

Всегда запрещай, разрешает пусть пользователь сам
3G/4G не обязательно сверхдорогие
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38660039
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне сказали определить тип соединение, и если 3G,4G,WiFi, то не подключать пользователя.

Неужели никто не сталкивался с тем, что нужно определить тип соединения?
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38660099
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Studentsмне сказали определить тип соединение, и если 3G,4G,WiFi, то не подключать пользователя.

Неужели никто не сталкивался с тем, что нужно определить тип соединения? Скорее нет, мне только это самому в голову приходило, но дело так и не дошло. А ВиФи то чем не угодило?
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38660111
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Students, тебе уже привели решение. Можно еще через WMI эту информацию получать используя WMI класс Win32_NetworkAdapter . Там больше информации доступно. Однако ты не найдешь там флага 3G/не-3G т.к. Windows это не интересует. Тебе придется самостоятельно отличать их. При этом все еще возможны ситуации когда определение не будет работать правильно. Изопропил привел пример роутера с модемом.
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38660127
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ясно, спасибо за ответы.
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38660157
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос не в том как выяснить тип подключения,а том как образумить заказчика
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38660190
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изопропил,
авторЕсли да, то не "общаемся" с сервером и ничего оттуда не качаем и не заливаем, т.к. это дорого.
заказчик нищеброд..
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38660229
Фотография fortibransa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где-то в степиИзопропил,
авторЕсли да, то не "общаемся" с сервером и ничего оттуда не качаем и не заливаем, т.к. это дорого.
заказчик нищеброд..Это важно, кто много и мобильно работает, у мну даже в самолете мог, ежели чо. Там типа если платная связь то тока нужную строчечку реплицировать, а остальное хде бесплатный ВайФуй.
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38660260
Фотография Где-то в степи
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fortibransa,
это ж решается политикой безопасности приложения ( подключение к реализатору услуг интренета).
так мы и договоримся что девайс в автомате будет слать есемески на короткие номера без ведома хозяина ( т.с. кооператив имени Матери Терезы)
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38660334
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazileStudents, тебе уже привели решение. Можно еще через WMI эту информацию получать используя WMI класс Win32_NetworkAdapter . Там больше информации доступно. Однако ты не найдешь там флага 3G/не-3G т.к. Windows это не интересует. Тебе придется самостоятельно отличать их. При этом все еще возможны ситуации когда определение не будет работать правильно. Изопропил привел пример роутера с модемом.

В Win32_NetworkAdapter свойство Caption возвращает pci-e ethernet controller, независимо от типа подключения.
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38660373
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно, мог бы помочь класс win32_NetworkConnection

http://msdn.microsoft.com/en-us/library/aa394220(v=vs.85).aspx


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
var query = @"SELECT * FROM win32_NetworkConnection";
            var seacher = new ManagementObjectSearcher(query);
            var resultset = seacher.Get();

            foreach (ManagementObject mo in resultset)
            {
                foreach (PropertyData pd in mo.Properties)
                    Console.WriteLine(pd.Name + ": " + (pd.Value ?? "N/A"));
            }



Но seacher.Get() почему-то возвращает Count = 0;
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38660381
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Students,

А что делать если активно несколько сетевых соединений?
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38660382
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Students, попробуй так:

Код: c#
1.
2.
3.
4.
5.
6.
7.
SelectQuery query = new SelectQuery("Win32_NetworkAdapter");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);

foreach (ManagementObject wmiObj in searcher.Get())
{
	string caption = wmiObj.Properties["Caption"].Value;
}
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38660422
Students
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazileStudents, попробуй так:

Код: c#
1.
2.
3.
4.
5.
6.
7.
SelectQuery query = new SelectQuery("Win32_NetworkAdapter");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);

foreach (ManagementObject wmiObj in searcher.Get())
{
	string caption = wmiObj.Properties["Caption"].Value;
}




[00000000] Atheros AR8121/AR8113/AR8114 PCI-E Ethernet Controller
[00000001] Microsoft Kernel Debug Network Adapter
[00000002] Microsoft ISATAP Adapter

этот код перечисляет список адаптеров, а нужно соединение, т.е:

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
var query = @"SELECT * FROM win32_NetworkConnection";
            var seacher = new ManagementObjectSearcher(query);
            var resultset = seacher.Get();

            foreach (ManagementObject mo in resultset)
            {
                foreach (PropertyData pd in mo.Properties)
                    Console.WriteLine(pd.Name + ": " + (pd.Value ?? "N/A"));
            }



но здесь почему-то resultset.Count == 0
...
Рейтинг: 0 / 0
Как установить тип подключения?
    #38660440
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Students, на моем компьютере запрос SELECT * FROM win32_NetworkConnection тоже ничего не возвращает хотя соединение с инетом, очевидно, в наличии. Видимо здесь выводятся только соединения по-требованию. Типа dial-up или VPN.
...
Рейтинг: 0 / 0
50 сообщений из 50, показаны все 2 страниц
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как установить тип подключения?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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