PDA

View Full Version : چک کردن وضعیت اینترنت کامل و بدون هنگ و مشکل !!!



lahij.ir
شنبه 30 مرداد 1389, 21:20 عصر
سلام ، من این قطعه کد و برای چک کردن وضعیت اینترنت نوشتم و چک میکنه که واقعا به اینترنت وصل هستیم یا نه ، اما مشکلش اینه که چون تو یه timer هست و هر دفعه یه سری دستور "اگر" و بررسی میکنه و از همه مهم تر یه پینگ از یه سایت ( ترجیحا google ) میگیره ، برنامه همش تو حالت هنگ و گیر هست ، کسی راه حلی واسه این مشکل داره ؟ می خوام وضعیت اینترنت و چک کنم که در هر لحظه برنامه با سایت ارتباط داره یا نه و اگر نداشت پیغام مناسب بده ممنون میشم :لبخند: سرتونم درد آوردم :لبخند:

Saman_12
شنبه 30 مرداد 1389, 22:18 عصر
سلام.
از بک گراند ورکر استفاده کن.
بجای تایمر توی بک گراند ورکر از Do...loop

lahij.ir
شنبه 30 مرداد 1389, 23:38 عصر
سلام.
از بک گراند ورکر استفاده کن.
بجای تایمر توی بک گراند ورکر از Do...loop
ممنون دوست من ، اما وقتی اجراش میکنم ، میخوام یه شرط و چک کنه و یه مقدار برگردونه به یه label که رو فرمم گذاشتم اما وقتی میرسه به اون خطی که باید این مقداره بریزه تو test لیبلم این پیغامو میده Cross-thread operation not valid: Control 'l_1' accessed from a thread other than the thread it was created on.
اسم لیبلی که استفاده کردم l_1 هست و میگه نمیتونه مستقیم یه مقدار بریزی توش ، راه حل این مشکل چیه ؟:متفکر:

lahij.ir
یک شنبه 31 مرداد 1389, 07:11 صبح
من اومدم یه متغیر public تعریف کردم و تو backgroundworker یه مقدار به این متغیر public دادم و با یه تایمر هر لحظه مقدار این متغیر رو به هرجا از فرمم می خواستم بردم ، اما اینجوری الکی یه تایمر اضافه اجراست راهی نداره که مستقیم شی روی فرم رو مقدار دهی کنم ؟! :متفکر:

salehbagheri
یک شنبه 31 مرداد 1389, 08:51 صبح
به این صورت تغییر بدید، مشکل کمی سرعت حل میشه!


Private Sub t_1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles t_1.Tick
Dim TestThread As New System.Threading.Thread(AddressOf CheckConnection)
TestThread.Start()
l_1.Text = Result
End Sub

Private Result As String = ""
Private Sub CheckConnection()
With My.Computer.Network
If .IsAvailable AndAlso .Ping("www.google.com") Then
Result = "Connected"
Else
Result = "Not Connected"
End If
End With
End Sub

lahij.ir
یک شنبه 31 مرداد 1389, 11:47 صبح
با کمک و راهنمایی آقای salehbagheri (http://www.barnamenevis.org/forum/member.php?u=39960) مشکل حل شد :لبخند: یه نمونه با vs 2010 نوشتم که میزارم تو پیوست ، ممنون آقای salehbagheri (http://www.barnamenevis.org/forum/member.php?u=39960) :قلب: