Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/27: Рейтинг темы: голосов - 27, средняя оценка - 4.85
5 / 4 / 4
Регистрация: 03.09.2012
Сообщений: 91
1

Проверить есть ли соединение с интернетом

04.09.2012, 10:10. Показов 5558. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Мне нужна консольная программа которая проверяет есть ли соединение с интернетом и возвращает какое то значение (например "Yes") на другой bat файл.
То есть через bat файл запускается программа, которая проверяет соединение с помощью этой проги и в случае успешного результата возвращает bat файлу что инет есть, если допустим через 10 секунд никакого результата, то bat файл должен получить отрицательного значение (например "no").

Вот программка (с использованием System.Net).
C#
1
2
3
4
5
6
7
8
        static void Main(string[] args)
        {
            WebClient client = new WebClient();
            client.BaseAddress = "http://адрес_сайта.ru";
            string data = client.DownloadString("checknet.txt");
            Console.WriteLine(data);
            Console.ReadLine();
        }
checknet.txt содержит слово Yes.
Программа загружает и показывает это слово. Но как его передать на bat файл?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.09.2012, 10:10
Ответы с готовыми решениями:

Как проверить есть ли соединение с интернетом
Подскажите как на .Net проверить есть ли соедение с интернетом ?

Проверить соединение с интернетом
Здравствуйте! Столкнулся с такой проблемой, приложение устанавливает коннект с сервером (они...

как определить есть ли соединение с интернетом??
как определить есть ли соединение с интернетом??

Маршрутизатор dir 300, есть соединение с ПК, а с интернетом - разорвано
Народ помогите! Проблема в следующим: подключил роутер к ПК через LAN и подключил к нему интернет...

14
543 / 544 / 181
Регистрация: 16.03.2012
Сообщений: 1,160
Записей в блоге: 2
04.09.2012, 11:35 2
http://kbyte.ru/ru/Programming... &mode=show
0
713 / 680 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
04.09.2012, 13:00 3
Цитата Сообщение от buntar Посмотреть сообщение
его проблема не в получении информации о соединении, а в том чтобы передать в другую программу результат

з.ы. проверять тот же файл другой программой чз эти 10 секунд не проще?
0
4 / 4 / 0
Регистрация: 11.05.2012
Сообщений: 53
04.09.2012, 13:58 4
Sherzant, http://msdn.microsoft.com/ru-r... .ping.aspx
0
713 / 680 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
04.09.2012, 14:06 5
Цитата Сообщение от Sherzant Посмотреть сообщение
checknet.txt содержит слово Yes.
Программа загружает и показывает это слово. Но как его передать на bat файл?
вы не помогаете автору
0
123 / 121 / 6
Регистрация: 21.12.2011
Сообщений: 348
04.09.2012, 14:24 6
Sherzant, почему бы в самом bat файле не пинговать например google.com? зачем писать отдельную тулзу?
0
5 / 4 / 4
Регистрация: 03.09.2012
Сообщений: 91
04.09.2012, 14:36  [ТС] 7
Цитата Сообщение от Savvy Посмотреть сообщение
Sherzant, почему бы в самом bat файле не пинговать например google.com? зачем писать отдельную тулзу?
bat команды не очень хорошо знаю, как это реализовать?
допустим пингонул любой сайт, как мне узнать успешно или провал?
if(ping 90.100.110.120 == true) echo "Инет работает!" так?? какой должен быть синтаксис?
0
158 / 148 / 25
Регистрация: 23.01.2011
Сообщений: 319
04.09.2012, 14:38 8
Передачу вывода одной команды, другой ещё никто не отменял
Код
ping 192.168.0.1 | sort
0
5 / 4 / 4
Регистрация: 03.09.2012
Сообщений: 91
04.09.2012, 14:50  [ТС] 9
это команда сортирует пингованные пакеты?
помоему я не так объясняю. попробую по подробнее:
1. проверка инета - допустим с помощью ping
2. далее условие (if) если инет есть (ping != null) то выполняй например отправить почту
3. если инета нет (else) то напиши нет инета (echo "Инета нет!")
0
98 / 81 / 16
Регистрация: 14.01.2011
Сообщений: 438
04.09.2012, 15:09 10
А это чем не устраивает?
C#
1
System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()
Также есть класс Ping
C#
1
2
3
if (System.Net.NetworkInformation.NetworkInterface.GetIsNetworkAvailable()) SendMail();
   
else MessageBox.Show("Проверьте соединение с интернетом!");
0
158 / 148 / 25
Регистрация: 23.01.2011
Сообщений: 319
04.09.2012, 15:32 11
Цитата Сообщение от Sherzant Посмотреть сообщение
это команда сортирует пингованные пакеты?
помоему я не так объясняю. попробую по подробнее:
1. проверка инета - допустим с помощью ping
2. далее условие (if) если инет есть (ping != null) то выполняй например отправить почту
3. если инета нет (else) то напиши нет инета (echo "Инета нет!")
Я вам привел пример как направить вывод одной команды другой в вашем случае если это BAT файл, и допустим ваша программа выводит на экран YES вы пишете такой BAT:
Код
@echo off

for /f "usebackq" %%i in (`type f.txt`) do if %%i==YES ( 
	echo Has Connected 
) else ( 
	echo No Connection
)
В обратных кавычках имя вашей програмки(вместо type f.txt), в условии if YES - это то что должна ваша програмка выводить на экран ( Console.Write("YES"); )
1
55 / 55 / 14
Регистрация: 26.04.2010
Сообщений: 177
04.09.2012, 16:16 12
Или так:
Bash
1
2
3
4
5
@echo off
cd %~dp0
for /f "eol=" %%i in (test.txt) do (SET A=%%i)
echo %A%
pause
Код читает одну строку из test.txt, размещённого в одном каталоге с батником. И потом выводит эту строку. А может вместо вывода ещё что-нить сделать
1
5 / 4 / 4
Регистрация: 03.09.2012
Сообщений: 91
04.09.2012, 16:28  [ТС] 13
Celly, ваш код работает, но результат выводится после нажатие на Enter, а мне надо чтобы при запуске bat файла результат выводился сам без помощи юзера.
0
158 / 148 / 25
Регистрация: 23.01.2011
Сообщений: 319
04.09.2012, 16:31 14
У вас в проге случайно Console.ReadKey или ReadLine не стоит?
0
5 / 4 / 4
Регистрация: 03.09.2012
Сообщений: 91
04.09.2012, 16:38  [ТС] 15
kmi, test.txt у меня находится на серваке, а бат файл на компе (у клиента), то есть они не в одном компе.
изменил (test.txt) на ('check.exe'), заработало, но опять таки надо нажать Enter

Добавлено через 1 минуту
Celly, о точно
0
04.09.2012, 16:38
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.09.2012, 16:38
Помогаю со студенческими работами здесь

Глючит соединение с интернетом. Не открываются сайты, не удается установить DNS соединение
Добрый день! Помогите разобраться с проблемой!!! Есть сеть из 30 ПК, последнее 7 дней стал глючить...

Соединение с интернетом
После нескольких минут интернет ведет себя странным образом. Не могу зайти на любой сайт по...

Соединение с интернетом
Некоторые приложения (касперский, центр обновлений Windows, battle.net и пр.) не могут соединиться...

Соединение с интернетом
Нужно проверить соединение с интернетом и далее взаимозависимости с результатом, выполнить...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru