رفتن به مطلب
  • 0

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


ahmandir

سوال

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

 

ما می تونیم با روشهای مختلف اتصال به اینترنت رو چک کنیم . به عنوان مثال با دانلود کردن یک فایل و یا استفاده از کتابخونه ها

 

به عنوان مثال با یک ساب :

Sub conect_ConnectivityChanged (NetworkType As String, State As String, Intent As Intent)
		If State="CONNECTED" Then
			' دستورات لازم برای زمانی که اینترنت متصل است
			
			Else

				
			' اینترنت قطع است و صفحه ی پیام دیسکانکت را نمایش بده
			
		End If
End Sub

خوب قبلش هم یک متغیر از نوع فون اونت میسازیم :

Dim con As PhoneEvents

مشکلی که توی کد بالا وجود داره این هست که اگه گوشی ما به تریجی یا فروجی ( اینترنت سیم کارت ) متصل باشه اما سیم کارتمون شارژ نداشته باشه برنامه باز هم فکر می کنه ما به اینترنت متصل هستیم . و یا زمانی که گوشی به وای فای متصل باشه و نت نداشته باشیم باز هم متوجه نمیشه که ما اینترنت نداریم .

 

اشکال کار زمانی خودش رو نشون میده که ما یک کد رو بفرستیم به صفحه ی php و بعد منتظر باشیم که صفحه ی php جواب ما رو برگردونه و این بین برای لحظه ای هم نت قطع بشه و باز متصل بشه مشکل پیش میاد . چرا که برنامه کد رو به دلیل قطع شدن لحظه ای نتونسته بفرسته و بعد رفته قسمتی از برنامه ( قسمت پاسخ job ) که نیاز به جواب php داره . اما صفحه ی php  هم که چیزی نگرفته که چیزی بخواد برگردونه .

 

به عنوان مثال : یک متغیر از نوع اچ تی تی پی جاب میسازیم :

Dim ht As HttpJob

بعد میایم و یک کد رو بهش میدیم :

						ht.Initialize("get",Me)
						Dim po As String
						po="meli=" & meli & "&password="&  password 
						ProgressDialogShow2("در حال ورود به حساب کاربری",False)
						ht.PostString( link & "admin/get.php",po)

حالا تصور کنین زمان اجرای این کد اینترنت برای لحظه ای قطع بشه . برنامه متوجه نمیشه و میره به قسمت ساب جاب

 

Sub JobDone (job As HttpJob)

	If job.Success Then
		If job.JobName="get" Then
			کدهایی که می خوایم اجرا بشه			
			ProgressDialogHide

		End If
				
				
				
				
								
			Else
				ToastMessageShow("اتصال برقرار نیست و یا مشکلی پیش آمده است",True)
				
		
	End If	

End Sub

 

 

به نظرم میشه یک تایمر گذاشته که با ارسال داده به php شروع بشه و بعد از مثلا دو ثانیه ( بستگی به داده ها و پردازش php داره ) در صورتی که جاب ما موفقیت آمیز نبود دوباره کد رو به php ارسال کنه .

 

دوستان روش بهتری دارن ؟ بگن تا ما هم یاد بگیریم

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

0 پاسخ به این سوال تاکنون داده شده است

ارسال‌های توصیه شده

هنوز برای این سوال پاسخی ارسال نشده است

بایگانی شده

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

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...