PDA

View Full Version : چک کردن اتصال به اینترنت در هر چند ثانیه؟



saeid_omrani
شنبه 22 فروردین 1388, 16:31 عصر
سلام
یه تکه کد می خوام که مثلا هر 1 ثانیه چک کنه به اینترنت وصل هستیم یا نه. و اگر وصل نبودیم gateway رو تغییر بده. من یه چیزایی نوشتم ولی همش به مشکل بر می خورم.
برای چک کردن وصل بودن:


Dim ping As Ping = New Ping()
Dim reply As PingReply = ping.Send("4.2.2.4", 5)


و If reply.Status = IPStatus.Success استفاده کردم.

و برای عوض کردن gateway:


Dim process As New Process
process.StartInfo.FileName = "netsh.exe"
process.StartInfo.Arguments = "interface ip set address name=""Wireless Network Connection"" static 192.168.10.1 255.255.255.0 192.168.120.21 1"
process.StartInfo.WorkingDirectory = "C:\WINDOWS\system32"
process.Start()


مشکلم بیشتر تو تایمر هست.
ممنون

amir20611
یک شنبه 23 فروردین 1388, 11:48 صبح
سلام
برای فهمیدن اینکه به اینترنت وصل هستی یانه میتونی از این کد استفاده کنی

If My.Computer.Network.IsAvailable Then
Label1.Text = "شما به انترنت وصل هستید"
Else
Label1.Text = "شما به انترنت وصل نیستید"
End If

mostafaaa
دوشنبه 24 فروردین 1388, 10:26 صبح
سلام
برای فهمیدن اینکه به اینترنت وصل هستی یانه میتونی از این کد استفاده کنی
سلام دوستان من
این کدی که دوستمون گزاشتن فقط چک میکنه که شبکه Available هست یا نه و ربطی به اینکه اینترنت وصل باشه یا نباشه نداره، شما اگه کامپیوترت توی یه شبکه Local هم باشه ولی اینترنت روی اون شبکه نباشه باز هم نتیجه True دریافت میکنید.
بهترین راه برای تست وصل بودن اینترنت همون پینگ کردن DNS Server هست که ایجاد کننده تاپیک هم به درستی این راه حل رو انتخاب کردن.
برای حل مشکل تایمر هم فقط کافیه کدت رو توی رویداد Tik یه تایمر بزاری و Interval اون Timer رو به 1000 تغییر بدی.
یا علی

pernia
دوشنبه 24 فروردین 1388, 14:25 عصر
اگه درون یک پروکسی باشید ، بعضی وقت ها دستور ping در دسترس نیست به دلیل policy هایی که ADMIN اعمال میکنه...
من پیشنهاد میکنم به طور کلی بیاید سرعت اتصال به یک وبسایت رو بررسی کنید اگه عدد برگردوند که معرف سرعتشه .. و یعنی وصل هستید !
اگه صفر داد که یعنی وصل نیستید....
3 روش دارم که همش رو از VB6 بلدم ... نمیدونم بکار میاد یا نه..

saeid_omrani
دوشنبه 24 فروردین 1388, 23:18 عصر
3 روش دارم که همش رو از VB6 بلدم ... نمیدونم بکار میاد یا نه..

حتما بکار میاد. بگی ممنون میشم

arsalansalar
سه شنبه 25 فروردین 1388, 11:30 صبح
یک تایمر بگذار که هر ثانیه کد زیر و چک کنه:


Dim NETAVL As String
'NETAVL Mean NetWork Availabel
NETAVL = My.Computer.Network.IsAvailable
'-----------
Select Case NETAVL
Case "True"
NETAVL = "connect is true"
Case "False"
NETAVL = "connect is false"
End Select
MessageBox.Show(NETAVL, "", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)