Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.95/20: Рейтинг темы: голосов - 20, средняя оценка - 4.95
Sherzant
3 / 3 / 3
Регистрация: 03.09.2012
Сообщений: 90
#1

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

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

Мне нужна консольная программа которая проверяет есть ли соединение с интернетом и возвращает какое то значение (например "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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.09.2012, 10:10
Ответы с готовыми решениями:

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

Как проверить установлено соединение или нет
Здравствуйте! Нужно проверить установлено соединение или нет. Вот функция...

Проверить есть ли воспроизведение звука
Каким образом можно узнать о статусе динамиков? Имеется ввиду воспроизводиться...

Проверить есть ли элементы в List
как проверить есть ли элементы в List?

Проверить есть ли в массиве положительные числа
Дано целое число N и набор из N целых чисел. Если в наборе имеются...

14
buntar
524 / 525 / 181
Регистрация: 16.03.2012
Сообщений: 1,160
Записей в блоге: 2
04.09.2012, 11:35 #2
http://kbyte.ru/ru/Programming/Sources.aspx?id=969&mode=show
0
Tessen
679 / 646 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
04.09.2012, 13:00 #3
его проблема не в получении информации о соединении, а в том чтобы передать в другую программу результат

з.ы. проверять тот же файл другой программой чз эти 10 секунд не проще?
0
akeee
4 / 4 / 0
Регистрация: 11.05.2012
Сообщений: 53
04.09.2012, 13:58 #4
Sherzant, http://msdn.microsoft.com/ru-ru/libr...tion.ping.aspx
0
Tessen
679 / 646 / 126
Регистрация: 30.03.2012
Сообщений: 1,124
04.09.2012, 14:06 #5
Цитата Сообщение от Sherzant Посмотреть сообщение
checknet.txt содержит слово Yes.
Программа загружает и показывает это слово. Но как его передать на bat файл?
вы не помогаете автору
0
Savvy
119 / 117 / 6
Регистрация: 21.12.2011
Сообщений: 348
04.09.2012, 14:24 #6
Sherzant, почему бы в самом bat файле не пинговать например google.com? зачем писать отдельную тулзу?
0
Sherzant
3 / 3 / 3
Регистрация: 03.09.2012
Сообщений: 90
04.09.2012, 14:36  [ТС] #7
Цитата Сообщение от Savvy Посмотреть сообщение
Sherzant, почему бы в самом bat файле не пинговать например google.com? зачем писать отдельную тулзу?
bat команды не очень хорошо знаю, как это реализовать?
допустим пингонул любой сайт, как мне узнать успешно или провал?
if(ping 90.100.110.120 == true) echo "Инет работает!" так?? какой должен быть синтаксис?
0
Celly
129 / 130 / 12
Регистрация: 23.01.2011
Сообщений: 265
Завершенные тесты: 1
04.09.2012, 14:38 #8
Передачу вывода одной команды, другой ещё никто не отменял
Код
ping 192.168.0.1 | sort
0
Sherzant
3 / 3 / 3
Регистрация: 03.09.2012
Сообщений: 90
04.09.2012, 14:50  [ТС] #9
это команда сортирует пингованные пакеты?
помоему я не так объясняю. попробую по подробнее:
1. проверка инета - допустим с помощью ping
2. далее условие (if) если инет есть (ping != null) то выполняй например отправить почту
3. если инета нет (else) то напиши нет инета (echo "Инета нет!")
0
NowMatrix
96 / 79 / 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
Celly
129 / 130 / 12
Регистрация: 23.01.2011
Сообщений: 265
Завершенные тесты: 1
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
kmi
55 / 55 / 13
Регистрация: 26.04.2010
Сообщений: 173
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
Sherzant
3 / 3 / 3
Регистрация: 03.09.2012
Сообщений: 90
04.09.2012, 16:28  [ТС] #13
Celly, ваш код работает, но результат выводится после нажатие на Enter, а мне надо чтобы при запуске bat файла результат выводился сам без помощи юзера.
0
Celly
129 / 130 / 12
Регистрация: 23.01.2011
Сообщений: 265
Завершенные тесты: 1
04.09.2012, 16:31 #14
У вас в проге случайно Console.ReadKey или ReadLine не стоит?
0
Sherzant
3 / 3 / 3
Регистрация: 03.09.2012
Сообщений: 90
04.09.2012, 16:38  [ТС] #15
kmi, test.txt у меня находится на серваке, а бат файл на компе (у клиента), то есть они не в одном компе.
изменил (test.txt) на ('check.exe'), заработало, но опять таки надо нажать Enter

Добавлено через 1 минуту
Celly, о точно
0
04.09.2012, 16:38
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.09.2012, 16:38

Как проверить есть ли текст в блокноте?
Ребят, нужно проверить, работает ли программа "блокнот", затем нужно проверить...

Проверить, есть ли данная строка идентификатором
Уважаемые программисты! Нужна Ваша помощь в решение заданий: №1 Проверить,...

Как проверить есть ли в TextBox знак '='
Как проверить есть ли в TextBox знак '='.


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru