خوش آمدید

مهمان گرامی به انجمن کویک لرن خوش آمدی ، برای استفاده از تمامی امکانات در انجمن عضو شوید.


jboloori

بررسی وضعیت اتصال به اینترنت

17 ارسال در این موضوع قرار دارد

سلام دوستان

 

برای برنامم نیاز دارم که وضعیت اتصال به اینترنت رو چک کنم که اگه وصل بود مثلا پیغام بده که اینترنت وصله و اگه نبودم که ...

خیلی گشتم هم تو سایتای ایرانی هم خارجی اما کدای مورد نظر یه مشکل داشت:

وقتی وایفای روشنه مینویسه وصله وقتی خاموشه مینویسه قطعه.

حالا وقتی مودمو خاموش میکنم و وایفای گوشی رو روشن میکنم بازم مینویسه وصله با اینکه اینترنتی در کار نیست.

در ضمن یه کدم یه جا دیدم که چک میکرد وصله یا نه ولی خیلی زمان میبرد و حتی برنامه به حالت هنگ میرفت..

 

کدی که من استفاده می کنم یه نمونش اینه:

Sub GetIp As Boolean
    x.Initialize(0,"")
    If x.GetMyIP = "127.0.0.1" Then
        Return False
    Else
        Return True
    End If
End Sub

بعدشم مثلا تو باتنم مینویسم:

isNet = GetIp
	If isNet=True Then
		ToastMessageShow("vasl",False)
    Else
        ToastMessageShow("ghat",False)
    End If

می خوام وقتی جایی بودم که حتی مودمی نبود وای فای رو روشن کردم بگه قطعه (حتی با 3 جی و جی پی ار اس و ..)

لطفا کمک کنید

مرسی

 

به اشتراک گذاری این ارسال


لینک به ارسال

لطفا جستجو کنید بارها و باره در این باره بحث شده ... 

کتابخانه های http و network را فعال کنید 

Dim server As ServerSocket 
Sub Isconnect As Boolean 
	
	If server.IsInitialized = False Then 
		server.Initialize (0,"")
	End If 
   Try
      Log("mobile data state: " & ph.GetDataState & " wifi_on: " & ph.GetSettings("wifi_on") & " server ip: " & server.GetMyIP & CRLF &  "wifi ip: " & server.GetMyWifiIP)
       If server.GetMyIP = "127.0.0.1" Then Return False  'this is the local host address
       If Not(ph.GetDataState.EqualsIgnoreCase("CONNECTED")) AND server.GetMyWifiIP = "127.0.0.1" Then Return False
       Return True
   Catch
      Return False 
   End Try
End Sub 

به اشتراک گذاری این ارسال


لینک به ارسال

مرسی آقا رسول عزیز کارم راه افتاد

قبلش تو همین انجمنم هرچی گشتم ندیدم

این کدا درست کار میکنه ولی یه سوال:

من بجز وای فای بخوام از طرق دیگه وصل شم جواب میده؟ (مثلا جی پی ار اس)

آخه من وای فای رو ک خاموش کردم و موبایل دیتا رو روشن کردم و منتظر موندم ولی مینوشت قطعه

این مشکلو چطوری حلش کنم؟

به اشتراک گذاری این ارسال


لینک به ارسال

 

لطفا جستجو کنید بارها و باره در این باره بحث شده ... 

کتابخانه های http و network را فعال کنید 

Dim server As ServerSocket 
Sub Isconnect As Boolean 
	
	If server.IsInitialized = False Then 
		server.Initialize (0,"")
	End If 
   Try
      Log("mobile data state: " & ph.GetDataState & " wifi_on: " & ph.GetSettings("wifi_on") & " server ip: " & server.GetMyIP & CRLF &  "wifi ip: " & server.GetMyWifiIP)
       If server.GetMyIP = "127.0.0.1" Then Return False  'this is the local host address
       If Not(ph.GetDataState.EqualsIgnoreCase("CONNECTED")) AND server.GetMyWifiIP = "127.0.0.1" Then Return False
       Return True
   Catch
      Return False 
   End Try
End Sub 

دادا اینی که تو گذاشتی سریع تر این این کد منه؟ بعد نتورک داخلی (مبایل) رو هم جواب میده!!

Sub checkinternet As Boolean
Dim p As Phone
Dim sb As StringBuilder
sb.Initialize
     p.Shell("ping -c 2 -W 10 -v google.com", Null, sb, Null)
			
     			
				If sb.Length = 0 Then
				   Return False'"Host unreachable"
				Else
				   Return True'sb.ToString
				End If
End Sub

چون من خودم دنبال سریع ترین راه برای چک کردن نت ام

به اشتراک گذاری این ارسال


لینک به ارسال

دادا اینی که تو گذاشتی سریع تر این این کد منه؟ بعد نتورک داخلی (مبایل) رو هم جواب میده!!

Sub checkinternet As Boolean
Dim p As Phone
Dim sb As StringBuilder
sb.Initialize
     p.Shell("ping -c 2 -W 10 -v google.com", Null, sb, Null)
			
     			
				If sb.Length = 0 Then
				   Return False'"Host unreachable"
				Else
				   Return True'sb.ToString
				End If
End Sub

چون من خودم دنبال سریع ترین راه برای چک کردن نت ام

 

فک میکنم اونی که رسول داده سریع تر باشه! چون اوجا فقط چک میکنه دستگاه IP داره یا نه! که اگه به نت وصل باشه داره!

ولی تو اینی که شما دادی میره گوگل رو پینگ میکنه! فک میکنم کمی بیشتر طول بکشه!

esi0181 پسند دیده است

به اشتراک گذاری این ارسال


لینک به ارسال

بله کدی که بهت دادم هم شبکه دیتا را چک میکنه و هم شبکه وای فای را و همونطور که فرزین خان گفتند چون چک میکنه آی پی موجود هست یا نه سریعترین راه برای چک کردنه چون پینگ کردن نیاز به یه زمان برای ارسال و دریافت داره ... 

 

تنها مشکلش اینه که روی شبیه سازها کار نمیکنه دلیلشم اینه که شبیه سازها از اینترنت سیستم استفاده میکنند و آی پی به شبیه ساز اختصاص داده نمیشه . 

esi0181، Farzin-PC، jboloori و 1 کاربر دیگر پسندیده اند

به اشتراک گذاری این ارسال


لینک به ارسال

 

لطفا جستجو کنید بارها و باره در این باره بحث شده ... 

کتابخانه های http و network را فعال کنید 

Dim server As ServerSocket 
Sub Isconnect As Boolean 
	
	If server.IsInitialized = False Then 
		server.Initialize (0,"")
	End If 
   Try
      Log("mobile data state: " & ph.GetDataState & " wifi_on: " & ph.GetSettings("wifi_on") & " server ip: " & server.GetMyIP & CRLF &  "wifi ip: " & server.GetMyWifiIP)
       If server.GetMyIP = "127.0.0.1" Then Return False  'this is the local host address
       If Not(ph.GetDataState.EqualsIgnoreCase("CONNECTED")) AND server.GetMyWifiIP = "127.0.0.1" Then Return False
       Return True
   Catch
      Return False 
   End Try
End Sub 

 

@رسول

سلام خسته نباشید

ببخشید من از این کدها استفاده کردم برای بررسی قطع اینترنت اما بخوبی جواب نداد شاید در جایگزاری کدها اشتباه کردم.وای فای خاموش باشه پیغام قطع اینترنت میاد ولی از مودم قطع میکنم پیغام قطع اینترنت نمیاد و ارور میده.

کتاب خونه های http و network هم فعال کردم . لطفا راهنمایی کنید.

Sub Process_Globals
End Sub

Sub Globals
Dim server As ServerSocket 
Dim ph As Phone
End Sub

Sub Activity_Create(FirstTime As Boolean)
Dim dd As DownloadData
	dd.url = link
	dd.EventName = "dd"
	dd.Target = Me
	
	 Dim isNet As Boolean
    isNet = GetIp
	 If isNet = True Then
        ToastMessageShow("ارتباط با اینترنت برقرار است.",False)
		CallSubDelayed2(DownloadService, "StartDownload", dd)
    Else
        ToastMessageShow("ارتباط با اینترنت برقرار نیست.",False)
    End If
	End If
	
End Sub
Sub GetIp As Boolean
	If server.IsInitialized = False Then 
		server.Initialize (0,"")
	End If 
   Try
      Log("mobile data state: " & ph.GetDataState & " wifi_on: " & ph.GetSettings("wifi_on") & " server ip: " & server.GetMyIP & CRLF &  "wifi ip: " & server.GetMyWifiIP)
       If server.GetMyIP = "127.0.0.1" Then Return False  'this is the local host address
       If Not(ph.GetDataState.EqualsIgnoreCase("CONNECTED")) AND server.GetMyWifiIP = "127.0.0.1" Then Return False
       Return True
   Catch
      Return False 
   End Try
End Sub

Sub Activity_Resume

End Sub

Sub Activity_Pause (UserClosed As Boolean)

End Sub


به اشتراک گذاری این ارسال


لینک به ارسال

من خودم ازاین استفاده می کنم درست کار میکنه:

Sub Isconnect As Boolean 
	
	If server.IsInitialized = False Then 
		server.Initialize (0,"")
	End If 
	
   Try
      Log("mobile data state: " & ph.GetDataState & " wifi_on: " & ph.GetSettings("wifi_on") & " server ip: " & server.GetMyIP & CRLF &  "wifi ip: " & server.GetMyWifiIP)
       If server.GetMyIP = "127.0.0.1" Then Return False  'this is the local host address
       If Not(ph.GetDataState.EqualsIgnoreCase("CONNECTED")) And server.GetMyWifiIP = "127.0.0.1" Then Return False
       Return True
   Catch
      Return False 
   End Try
   
End Sub 

هر جا هم خواستی استفاده کنی اینطوری استفاده می کنی:

If Isconnect = True then
 
else

end if
دهنمکی پسند دیده است

به اشتراک گذاری این ارسال


لینک به ارسال

 

من خودم ازاین استفاده می کنم درست کار میکنه:

Sub Isconnect As Boolean 
	
	If server.IsInitialized = False Then 
		server.Initialize (0,"")
	End If 
	
   Try
      Log("mobile data state: " & ph.GetDataState & " wifi_on: " & ph.GetSettings("wifi_on") & " server ip: " & server.GetMyIP & CRLF &  "wifi ip: " & server.GetMyWifiIP)
       If server.GetMyIP = "127.0.0.1" Then Return False  'this is the local host address
       If Not(ph.GetDataState.EqualsIgnoreCase("CONNECTED")) And server.GetMyWifiIP = "127.0.0.1" Then Return False
       Return True
   Catch
      Return False 
   End Try
   
End Sub 

هر جا هم خواستی استفاده کنی اینطوری استفاده می کنی:

If Isconnect = True then
 
else

end if

سلام بله درسته.فقط اگه در حال دانلود اینترنت قطع بشه هم راهی هست ؟

به اشتراک گذاری این ارسال


لینک به ارسال

داداش میتونی از این استفاده کنی تضمینی

با کتاب خونه HttpUtils2


Sub Globals
      Dim f As HttpJob          
End Sub

Sub check_internet
f.Initialize("check", Me)          
f.Download("http://quicklearn.ir/checkInternet.txt")
End Sub

Sub JobDone (job As HttpJob)

Select job

Case f
    If job.Success Then
با اینترنت متصل است          
        Else
                  ارتباط قطع است
End If

       f.Release
End Select

End Sub

کافیه ساب چک اینترنت رو فراخوانی کنی

به اشتراک گذاری این ارسال


لینک به ارسال
مهمان
این موضوع برای عدم ارسال قفل گردیده است.