PDA

View Full Version : چک کردن انلاین بودن کاربر در سی شارپ



aminttt
پنج شنبه 14 تیر 1397, 10:55 صبح
سلام دوستان لطفاً راهنمایی کنید در برنامه های ویندوزی چطور می توان انلاین بود کاربر رو چک کردن و اینکه اگه کاربری با یوز خودش انلاین بود کسی دیگری نتونه به یوز اون انلاین بشه ، لطفا راهنمایی کنید

رامین مرادی
پنج شنبه 14 تیر 1397, 12:49 عصر
نیاز به جدولی دارید که زمان و کاربران آنلاین رو نگه داره.
هنگام ورود کاربر به برنامه شما یک رکورد در جدول ایجاد میکنید و کد کاربر تاریخ ورود و زمان ورود رو ثبت میکنید.
در فرم اصلی برنامتون یه تایمر میزارید که مثلا هر 20 ثانیه تاریخ و زمان اون کاربر رو آپدیت کنید.
موقع خروج هم رکورد اون کاربر رو حذف کنید.(رویداد کلوزینگ فرم اصلی)
موقع لاگین هم اول چک کنید اون کاربر تو اون لیست هست یا نه. اگه بود نشون یده که این کاربر از قبل لاگین شده. در غیر اینصورت میتونه لاگین بشه

اینجا یه خطای احتمالی وجود داره که قبل از خروج کاربر و رویداد کلوزینگ احتمال داره برنامه کرش کنه و رکورد اون کاربر رو پاک نکنه. برای حل این مشکل اون تاریخ و زمان رو درنظر گرفتیم. قرار بود هر بیست ثانیه یه بار تاریخ و زمان کاربر آپدیت بشه.

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

aminttt
پنج شنبه 14 تیر 1397, 15:37 عصر
نیاز به جدولی دارید که زمان و کاربران آنلاین رو نگه داره.
هنگام ورود کاربر به برنامه شما یک رکورد در جدول ایجاد میکنید و کد کاربر تاریخ ورود و زمان ورود رو ثبت میکنید.
در فرم اصلی برنامتون یه تایمر میزارید که مثلا هر 20 ثانیه تاریخ و زمان اون کاربر رو آپدیت کنید.
موقع خروج هم رکورد اون کاربر رو حذف کنید.(رویداد کلوزینگ فرم اصلی)
موقع لاگین هم اول چک کنید اون کاربر تو اون لیست هست یا نه. اگه بود نشون یده که این کاربر از قبل لاگین شده. در غیر اینصورت میتونه لاگین بشه

اینجا یه خطای احتمالی وجود داره که قبل از خروج کاربر و رویداد کلوزینگ احتمال داره برنامه کرش کنه و رکورد اون کاربر رو پاک نکنه. برای حل این مشکل اون تاریخ و زمان رو درنظر گرفتیم. قرار بود هر بیست ثانیه یه بار تاریخ و زمان کاربر آپدیت بشه.

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

aminttt
شنبه 16 تیر 1397, 11:00 صبح
میشه یک نمونه بزارید ممنون میشم

aminttt
شنبه 23 تیر 1397, 17:40 عصر
میشه یک نمونه بزارید ممنون میشم
دوستان لطفا کمک‌کنید یک سورسی بزارید تا دیگرانم استفاده کنند