#4 14.05.06 21:55
Re: [С#] как узнать, открыт ли 80 порт?
Beker написал(а):
вопрос крайне пространен ?!
хост удаленый или нет ?
WMI, ADSI
FW какой ?
что сидит на 80 известно ?
я пишу прогу, которая в фоновом режиме будет скачивать мне подкасты (mp3 файлы) заданной тематики.
Для начала я получаю RSS ленту с russianpodcasting через System.Net.WebClient и парсю ее. Затем сортирую по размеру (желанию\приоритету) и в потоке с пониженным приоритетом скачиваю.
Пока обрыв связи не учитываю, т.е. если коннект оборвется, а файл недокачан, то он "теряется".
так вот нажимать постоянно кнопку "скачать" мне влом, тем более, что я часто отключаю дил-ап. Хочу сделать, чтобы скачивание начиналось авто-ки как я захожу в инет.
Нифига написал:)
Ну и заодно нехило бы узнать когда именно оборвалась связь, чтобы сделать отметку в скачиваемом файле о месте обрыва.
Собственно, пока все на try{} catch(NullRefrenceException...//возникает при обрыве связи.
Offline
#7 24.05.06 18:29
Re: [С#] как узнать, открыт ли 80 порт?
нашел красивый способ:
While developing Internet applications, this is important to check whether the internet connection is available or not. We can achieve this with few lines of code.
Step 1: Include the following Namespace to your class.
using System.Runtime.InteropServices;This Namespace is necessary to call a function exported from unmanaged DLL.
Step 2: Use the following lines of code to import a function from the unmanaged DLL.
[DllImport("wininet.dll",CharSet=CharSet.Auto)] static extern bool InternetGetConnectedState(ref ConnectionState lpdwFlags, int dwReserved);
http://www.developerfusion.co.uk/show/5346
Offline
#8 25.05.06 01:05
Re: [С#] как узнать, открыт ли 80 порт?
tatarin написал(а):
нашел красивый способ:
While developing Internet applications, this is important to check whether the internet connection is available or not. We can achieve this with few lines of code.
[DllImport("wininet.dll",CharSet=CharSet.Auto)] static extern bool InternetGetConnectedState(ref ConnectionState lpdwFlags, int dwReserved);
Скорее всего, определяется сам факт подключения: даже если сетевуха соединена со свичем, а дальше никуда, то функция вернет true.
Это во-первых, а во-вторых, все-равно дальше придется соединяться с хостом и ловить SocketException :)
Offline

