PDA

View Full Version : چگونه از رویدادهای System.net استفاده کنم؟



javad2000
پنج شنبه 10 خرداد 1386, 20:24 عصر
سلام
من وقتی کلمه System.net رو می نویسم می بینم یه سری رویدادها مثل DownloadProgressChanged و DownloadDataCompleted و ... داره که نتیجه می گیرم باید بشه روال هایی برای کنترل این رویدادها نوشت. مثلاً یک Sub که به محض شروع دانلود یک فایل، فراخوانی شده و عمل خاصی را انجام دهد. اما نمدونم چطوری میشه از این رویدادها استفاده کرد. آیا کسی میدونه؟

با تشکر

yavari
پنج شنبه 10 خرداد 1386, 22:05 عصر
سلام

http://msdn2.microsoft.com/en-us/library/system.net.aspx

javad2000
جمعه 11 خرداد 1386, 00:42 صبح
سلام
با سپاس
اونجا رو دیدم. اما جوابم رو نگرفتم. سوالم دقیقاً این هست:
چطور میشه یک Event Handler برای وقایعی مثل موارد زیر ایجاد کرد؟
1- شروع دریافت اطلاعات از شبکه (اینترنت)
2- پایان دریافت اطلاعات از شبکه
3- شروع ارسال اطلاعات به شبکه
4- پایان ارسال اطلاعات به شبکه

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

با تشکر

yavari
جمعه 11 خرداد 1386, 14:01 عصر
سلام

دوست عزیز ، راجع به این موضوع سمپل زیاد هست (الان دم دستم نیست ، ان شا الله فردا چند موردی برات میذارم !)
اما از من میشنوی برو سراغ ریموتینگ ! ساخته شده واسه اینجور کارا !
البته منم 2 هفته ای بیشتر نیست رفتم سراغش ، اما چیز جالب و خفنیه !

موفق باشید

yavari
شنبه 12 خرداد 1386, 08:09 صبح
سلام

این یه نمونه که چت روم رو با NET و Socket پیاده سازی کرده !
البته سمپل زیاد هست ، امیدوارم مفید باشه براتون !

موفق باشید

javad2000
شنبه 12 خرداد 1386, 15:35 عصر
سلام

این یه نمونه که چت روم رو با NET و Socket پیاده سازی کرده !
البته سمپل زیاد هست ، امیدوارم مفید باشه براتون !

موفق باشید


سلام
با تشکر
این برنامه فقط از یک فرم تشکیل شده بود که هر چی توی Code View ی اون گشتم هیچ رویداد مربوط به System.net نبود.

البته از دستورات مربوط به System.net استفاده کرده بود اما من گفتم رویداد (Event). یعنی یه چیزی مثل این:

Private Sub DownloadStarted(Sender as ...) Handles System.net.DownloadStarted

End Sub

اینطور رویدادها رو چطور میشه ایجاد کرد؟ شاید اصلاً با System.net نشه. اما میخوام بدونم از چه طریق میشه. یعنی میخوام هر وقت Send یا Receive از طریق اینترنت انجام می گیره، اون رویداد فراخوانی بشه.

متشکرم

yavari
شنبه 12 خرداد 1386, 21:55 عصر
سلام

http://www.egr.msu.edu/classes/ece480/goodman/spring/group02/docs/FinalReportTeam2.pdf
http://kentb.blogspot.com/2005/04/http-downloader-for-updater.html

موفق باشید

Microsoft.net
شنبه 12 خرداد 1386, 22:12 عصر
راه کارت اینه : (برای هندل کردن هر واقعه ای که قابل هندل کردن باشه کاربرد داره)
AddHandler system.net.DownloadProgressChanged , Addressof YourSub
فقط موقع درست کردن Yoursub باید پارامتر های مناسب با رویدادی که میخوای هندل کنی بزاری

javad2000
یک شنبه 13 خرداد 1386, 01:42 صبح
سلام

http://www.egr.msu.edu/classes/ece48...eportTeam2.pdf
http://kentb.blogspot.com/2005/04/ht...r-updater.html

سلام
خیلی ممنون. اون PDF‌و اون سایت رو چک کردم اما هیچ اسمی از رویدادهای System.net درشون نیومده بود. شاید من منظورمو خوب نرسوندم.

من میخوام یه Event Handler برای رویدادهایی مثل Download Started یا DownloadProgressChanged ایجاد کنم. قصد ارسال یا دریافت فایل خاصی رو برای جای خاصی ندارم. فقط میخوام اگه کاربر به هر طریق یا با استفاده از هر نرم افزاری تصمیم به ارسال یا دریافت اطلاعات به شبکه گرفت، متوجه بشم.


راه کارت اینه : (برای هندل کردن هر واقعه ای که قابل هندل کردن باشه کاربرد داره)
AddHandler system.net.DownloadProgressChanged , Addressof YourSub
فقط موقع درست کردن Yoursub باید پارامتر های مناسب با رویدادی که میخوای هندل کنی بزاری


سلام
متشکرم. دقیقاً دنبال همچین چیزی هستم. اما وقتی بعد از عبارت AddHandler عبارت System.net رو می نویسم، نام هیچ رویدادی رو نمی بینم. فقط یک چیزهایی مثل:
DownloadProgressChangedEventArgs
DownloadProgressChangedEventHandler
و...
می بینم که هر کدومشو انتخاب می کنم پیغام میده:
Isn't a valid Event

راه درستش چیه؟ آیا اصلاً با اینها میشه Event Handler درست کرد یا وجودشون توی کلاس System.net حکمت دیگه ای داره؟

من سعی کردم اینجوری از روش شما استفاده کنم، اما ناموفق بود:


Sub Hello()
AddHandler System.Net.DownloadProgressChangedEventHandler, AddressOf YourSub

End Sub
Sub YourSub()

End Sub


اگه کسی راه حلی داره ممنون میشم در میون بگذاره.

yavari
یک شنبه 13 خرداد 1386, 08:09 صبح
سلام

گمونم دیگه مشکلی نباشه ! :لبخندساده:
http://msdn2.microsoft.com/en-us/library/system.net.downloadprogresschangedeventhandler(VS. 80).aspx

موفق باشید :تشویق:

javad2000
یک شنبه 13 خرداد 1386, 16:44 عصر
با سلام و سپاس
لطفاً از این که به عنوان یه غیر حرفه ای، روش دقیق رو از روی توضیحات مختصر این سایت ها متوجه نمیشم منو ببخشید.

من کد زیر رو امتحان کردم و انتظار داشتم به محض شروع ارسال یا دریافتاطلاعات از اینترنت پیغامی جلویم ظاهر شود که اینطور نشد. اشکال کجاست؟



Imports System.Net
Public Class Form1
Public Delegate Sub DownloadProgressChangedEventHandler( _
ByVal sender As Object, _
ByVal e As DownloadProgressChangedEventArgs _
)
Dim instance As New DownloadProgressChangedEventHandler(AddressOf HandlerMethod)
Sub HandlerMethod(ByVal sender As Object, _
ByVal e As DownloadProgressChangedEventArgs)
MsgBox("DownloadStarted")

End Sub
End Class

Microsoft.net
دوشنبه 14 خرداد 1386, 08:22 صبح
راستی یه چیزی که یادم رفت در مورد addhandler بگم اینه که بعضی اوقات اون eventای که مد نظرت هست تو لیست نشون نمی ده ولی اگه دستی و درست تایپش کنی عمل میکنه ، اینم یه امتحانش بکن ، اگه با addhandler نتونی هندلش کنی مشخصا ثابت میشه که بطور مستقیم قابل هندل کردن نیست