|
|
New Page 1
|
Internet Bağnatısını
Kontrol Etmek |
Özellikleinternet tabanlı çalışan
programlar yazarken aklımıza ilk gelmesi gereken sorun client bilgisayar
da internet bağlantısı aktif değilken programımızın çalıştırılması
durumudur. Zira internet bağlantısı için kontrol koymadığınız bu tarz
bir programda hiçde kullanıcı dostu olmayan hata mesajları ile
karşılaşmanız olasıdır.
Birazdan yazacağımız basit bir foksiyon ile internet bağlantı durumunu
boolean bir değişkene atayacağız ve programımız içinde bu değişkenin
durumuna göre tavır sergileyeceğiz. Bu işlem için System.Net
namespace ini kullanacağız.
Dim webreq As HttpWebRequest
Dim webresp As HttpWebResponse
'Fonksiyon HTTPStatusCode değerini döndürecek
Function BaglantiKontrol(ByVal url As String) As Boolean
Dim StrUrl As String = url
Dim Baglimi As Boolean = False
Try
WRequest = WebRequest.Create(StrUrl)
WResponse = WRequest.GetResponse
If WResponse.StatusCode = HttpStatusCode.OK Then
Baglimi = True
Else
Baglimi = False
End If
Return Baglimi
Catch ex As Exception
Baglimi = False
Return Baglimi
Finally
WResponse = Nothing
End Try
End Function
Bu fonksiyon URL parametresi alıyor ve boolean bir değeri geri
döndürüyor. Program içinden kontrolü yapmak için bu alana rastgele bir
url adresi parametresi gönderebilirsiniz.
Şimdi dönen değere göre Netwok and DialUp Connections tabını kontrol
edelim ve default connection ı açtıralım.
Dim LNG As Integer
Dim StrUrl As String = TextBox1.Text
Dim isConnected As Boolean = BaglantiKontrol(urlString)
If isConnected Then
System.Diagnostics.Process.Start("iexplore", urlString)
Else
Dim Cevap As String = MsgBox("İnternete bağlanmak ister misiniz?",
MsgBoxStyle.YesNo, "No Connected")
If Cevap = vbYes Then
LNG = Shell("rundll32.exe
shell32.dll,Control_RunDLL ncpa.cpl,,0")
Else
MsgBox("İnternet bağlanma talebini
reddettiniz...")
End If
End If
İnternet bağlantısını kontrol
etmenizin bir diğer yolu ise şu şekilde;
C-SharpCorner'dan alıntıdır
using System ;
using System.Runtime ;
using System.Runtime.InteropServices ;
public class
InternetCS
{
[DllImport("wininet.dll")]
private extern static bool
InternetGetConnectedState( out int Description,
int ReservedValue ) ;
public static bool
IsConnectedToInternet( )
{
int
Desc ;
return InternetGetConnectedState(
out Desc, 0 ) ;
}
}
Evren AYAN
www.evrenayan.net
|
|
|
|
| |
| Bu içerik ile ilgili
daha önce yapılmış yorumlar |
|
1.
hata1 : Dim webreq As HttpWebRequest tanımlamasının yapıldığı ilk satır HttpWebRequest ile Net.HttpWebRequest olarak değiştirin
hata2 : Dim webresp As HttpWebResponse tanımlamasının yapıldığı satır HttpWebResponse ile Net.HttpWebResponse değiştirin
hata3 : WRequest = WebRequest.Create(StrUrl) satırda wrequest die bi nesne tanımlamaya çalışıyorsun webrequest die bi sınıf yoq bu sınıf olsa olsa httpwebrequest sınıfıdır eğer öle ise nie direk sınıfı kullanıon dim satırındaki tanımlamayı haybeye mi yaptın? yoq bu sınıf httpwebrequest sınıfı diilse durum dahada kötü (int. bağlantısını kontrol edeceği için ftp request ve dier request sınıflarını görmezden geliyorum)
hata4 : WResponse = WRequest.GetResponse 3. ile aynı tipte bi hata daha hem 3. hemde 4. hatada tanımlanmamış nesneye atama yapılıo ve atama yapılacak sınıf yok
hata5 : If WResponse.StatusCode = HttpStatusCode.OK Then WResponse ye dicek bişeyim yok çünkü zaten tanımsız ama httpStatusCode da tanımsız bakındım biraz sınıflara ama bulamadım
şimdi ya bu vb.net kodu diil yada benim kullandıım vb.net programı diil ben 1 yıldır vb.net öreniom die başka bi dil öreniom...
tabi bu kadar hatadan dolayı dier koda bakmadım bile ya bişey yapıosanız tam yapın yada yapmayın bide bilmemkaç puan almış makale acaba bu puan verenler neye göre verio denedinizmi hiç bunu _?
NOT : VB.NET 2005 ile denedim
Shidaiko
-
12.09.2006 15:35:03
2.
Bu içerik temelde VB.Net konuludur ve ilk örnek buna ilişkindir. C-SharpCorner da aynı konu ileilgili farklı bir örnek olduğu için konu dahiline örnek aynen alınmıştır.
Evren AYAN
-
26.03.2005 10:49:33
3.
dersler bölümünden VB.net i tıklıyorum ama içlerinde bunun gibi C# örnekleri var ???
ahmet konyalı
-
25.03.2005 19:06:14
4.
Ya açılan bağlantı o an için down olmuşsa o zaman internete bağlı olduğu halde bağlı değilsiniz demeyecek mi? Tabii Kodu Yanlış Anlamadıysam.
bu lafım ilk kod için :)
Semih TURNA
-
23.03.2005 17:13:44
|
|
|