کلاینتهای قدیمی
HandyCafe میتواند نصبهای کلاینت V3 و V4 را در کنار کلاینتهای مدرن روی همان سرور مدیریت کند. کلاینتهای قدیمی در Admin Panel بهصورت نوع کارت جداگانه ظاهر میشوند و یک مجموعه اقدام محدودتر دارند که با چیزهایی هماهنگ است که پروتکل اصلی پشتیبانی میکند.
قبل از اینکه کلاینتهای قدیمی را در Admin Panel ببینید، پشتیبانی زمان اجرا را در Settings > Legacy Clients فعال کنید.
کلاینتهای قدیمی چگونه ظاهر میشوند
کلاینتهای قدیمی از طریق پروتکل UDP multicast اصلی به سرور وصل میشوند. آنها مثل کلاینتهای مدرن از mDNS استفاده نمیکنند. در عوض سرور آنها را به دو روش پیدا میکند:
| مسیر کشف | محرک |
|---|---|
| TCP Login | کلاینت یک LoginRequest روی پورت فرمان TCP میفرستد. سرور peer را ثبت میکند و یک رویداد connected صادر میکند. |
| UDP Ping | کلاینت یک frame از نوع Ping روی multicast group broadcast میکند. سرور آن را دریافت میکند، رکورد peer را بهروزرسانی میکند و یک رویداد online صادر میکند. |
وضعیت per-MAC در یک store مخصوص کلاینت قدیمی نگهداری میشود که IP، hostname، کاربر واردشده، نسخه کلاینت، تایمرهای نشست و timestamp آخرین مشاهده را دارد. هر frame ورودی، تایمر inactivity را reset میکند. اگر تایمر بدون ترافیک منقضی شود (پیشفرض 10 ثانیه)، کلاینت offline علامت میخورد. این رکورد در پایگاهداده میماند تا تاریخچه از بین نرود.
کارت کلاینت قدیمی
هر کلاینت قدیمی بهصورت کارتی جدا از کارتهای کلاینت مدرن رندر میشود. هدر نام نمایشی را نشان میدهد (hostname وقتی موجود است، MAC وقتی نیست)، یک badge آنلاین یا آفلاین با رنگ، و یک برچسب وضعیت.
رنگها و برچسبهای وضعیت
| وضعیت | رنگ | معنی |
|---|---|---|
| Online | سبز | یک نشست فعال در حال اجراست. |
| Idle | فیروزهای | کلاینت وصل است و منتظر است. هیچ نشستی فعال نیست. |
| Paused | کهربایی | نشست متوقف شده است. صورتحساب متوقف میشود. |
| Busy | بنفش | کلاینت در حال پردازش یک درخواست است. |
| Payment | رز | کلاینت در جریان پرداخت است. |
| Admin | نیلی | کلاینت در حالت مدیریت یا نگهداری است. |
| Offline | خاکستری | ترافیک اخیر وجود ندارد. تا وقتی کلاینت برنگردد، اقدامها غیرفعال میمانند. |
| Timed | آبی آسمانی | یک نشست زماندار با deadline در حال اجراست. |
ساعت نشست
وقتی یک نشست فعال باشد، کارت یک بلوک ساعت نمایش میدهد:
- زمان شروع.
- زمان پایان (برای نشستهای زماندار).
- دقیقههای استفادهشده.
- دقیقههای باقیمانده با شمارش معکوس زنده.
- هزینه انباشتهشده.
اطلاعات هویتی
کارت همیشه این موارد را نشان میدهد:
- آدرس MAC.
- آدرس IP.
- نسخه کلاینت (برای مثال "3.4.01").
- کاربر واردشده، اگر وجود داشته باشد.
نوار ابزار اقدام
وقتی کلاینت آنلاین است، نوار ابزار اقدام زیر اطلاعات هویتی، عملیات در دسترس را ارائه میدهد.
کنترل نشست
| دکمه | چه زمانی دیده میشود | رفتار |
|---|---|---|
| Login | وضعیت idle است | دیالوگ Device Login را باز میکند. دقیقه و روش پرداخت را انتخاب کنید. سرور یک فرمان Login با مقادیر انتخابشده میفرستد. نشست روی کلاینت شروع میشود. |
| Logout | وضعیت آنلاین، timed، paused، busy یا payment است | اگر نشست postpaid باشد، یک دیالوگ پرداخت مبلغ و روش را جمع میکند. یک transaction در دفترکل نوشته میشود. سرور فرمان Logout میفرستد. نشست روی کلاینت بسته میشود. |
Add Time
یک minute picker باز میکند. مقادیر مثبت (برای تمدید) یا منفی (برای کمکردن) را میپذیرد. حداکثر مقدار مطلق 10,000 دقیقه در هر جهت است. هم برای نشستهای prepaid و هم postpaid کار میکند.
اگر در تنظیمات قیمتگذاری مقدارهای minute از پیش تعیینشده را پیکربندی کرده باشید، کارت یک ردیف از دکمههای preset هم نشان میدهد. با لمس هر preset، مقدار بدون باز کردن picker اعمال میشود.
Screenshot
از طریق پورت انتقال فایل، یک اسکرینشات زنده از کلاینت قدیمی درخواست میکند. جریان کار این است:
- سرور یک فرمان درخواست اسکرینشات میفرستد.
- کلاینت یک TCP listener کوتاهعمر روی یک پورت ephemeral باز میکند.
- سرور وصل میشود، یک header انتقال فایل 9بایتی میفرستد و منتظر میماند.
- کلاینت صفحه را capture میکند، آن را بهصورت BMP فشرده encode میکند و برمیگرداند.
- سرور BMP را decompress میکند و در پوشه
legacy_screenshotsزیر پوشه داده HandyCafe شما ذخیره میکند. - viewer اسکرینشات با تصویر جدید باز میشود.
اگر کلاینت در بازه timeout پاسخ ندهد (پیشفرض 30 ثانیه برای اتصال، 20 ثانیه برای داده)، درخواست ناموفق میشود و یک toast خطا ظاهر میشود. میتوانید بلافاصله دوباره تلاش کنید.
عملیات برق
| اقدام | تأیید | اثر |
|---|---|---|
| Logoff | ندارد | کاربر ویندوز را روی دستگاه کلاینت logout میکند. session ویندوز پایان مییابد اما کامپیوتر روشن میماند. |
| Reboot | دارد | یک فرمان restart میفرستد. دستگاه کلاینت دوباره راهاندازی میشود. |
| Shutdown | دارد | یک فرمان خاموشکردن میفرستد. دستگاه کلاینت خاموش میشود. |
Reboot و Shutdown برای جلوگیری از عملیات برق اشتباه، یک دیالوگ تأیید نشان میدهند.
عملیات پشتیبانینشده
کلاینتهای قدیمی از همه قابلیتهای موجود در کلاینتهای مدرن HandyCafe پشتیبانی نمیکنند. مهمترین کمبودها:
- بدون تنظیم مکث در وسط نشست. تغییر زمانهایی که در حالت pause ارسال میشوند در صف میمانند اما ممکن است کلاینت آنها را نادیده بگیرد. ابتدا نشست را resume کنید، تغییر را اعمال کنید، و اگر لازم بود دوباره pause کنید.
- بدون Admin mode از طریق فرمان سرور. وضعیت داخلی admin در کلاینت از سمت سرور قابل تغییر نیست. حالت Admin فقط روی خود دستگاه کلاینت کنترل میشود.
- بدون ثبت مجوز از سرور. سرور بایتهای مجوزی را که در frameهای کلاینت میبیند mirror میکند اما نمیتواند مجوز جدیدی به کلاینت push کند. کلاینت را بهصورت محلی ثبت کنید.
- بدون ادغام کیف پول عضو برای نشستهای شروعشده روی کلاینتهای قدیمی. پرداختها بهصورت ردیفهای ساده
transactionsباtransaction_type=sessionsو MAC کلاینت ثبت میشوند. جریانهای مدرن کیف پول اعمال نمیشوند. - بدون دسکتاپ از راه دور. قابلیت remote desktop از مسیر جریان UDP استفاده میکند که در کلاینتهای قدیمی وجود ندارد.
- بدون push همگامسازی فایل. Sync Explorer فقط از طریق پروتکل مدرن فایل را push میکند.
برای عملکرد کامل، هر جا ممکن است به کلاینتهای مدرن HandyCafe مهاجرت کنید.
رفتار آفلاین
وقتی inactivity timeout منقضی میشود، کارت کمرنگ میشود، badge وضعیت خاکستری میشود و همه دکمههای اقدام غیرفعال میشوند. رکورد کلاینت در store باقی میماند تا تاریخچه، MAC، hostname و داده آخرین مشاهده حفظ شوند. وقتی کلاینت دوباره آنلاین شود (یک UDP ping یا TCP login جدید)، کارت دوباره فعال میشود و اقدامها در دسترس قرار میگیرند.
این رکورد بهصورت خودکار حذف نمیشود. برای حذف دائمی یک کلاینت قدیمی، آن را از پایگاهداده مدیریتی ویرایش کنید یا از ابزار مدیریتی مربوطه حذف کنید.
نکتهها
- inactivity timeout را روی 10 ثانیه نگه دارید مگر اینکه مطمئن باشید کلاینتهای قدیمی شما کندتر beacon میفرستند. timeout کوتاهتر ممکن است کلاینتهای سالم را در قطع و وصلهای کوتاه شبکه اشتباهاً offline علامت بزند.
- اگر کلاینت قدیمی online بهنظر میرسد اما به فرمانها پاسخ نمیدهد، Protocol Variant را در Settings تأیید کنید. ناسازگاری بین گونه سرور (STE در برابر Standard) و build کلاینت باعث میشود فرمانها بیصدا رد شوند.
- اسکرینشاتهای کلاینتهای قدیمی BMP فشرده هستند و از captureهای PNG مدرن بزرگترند. اگر تعداد زیادی capture میگیرید، پوشه
legacy_screenshotsرا روی درایوی با فضای آزاد کافی نگه دارید. - هنگام جابهجایی شیفت، از Add Time با دکمههای preset استفاده کنید. یک لمس، نشست را بهاندازه از پیش تعیینشده افزایش میدهد و از تایپ دستی دقیقهها سریعتر است.
- کلاینتهای قدیمی را تدریجی بازنشسته کنید. هر بار یک batch را مهاجرت دهید، مطمئن شوید کلاینتهای جدید در Admin Panel دقیقاً همانطور کار میکنند، و فقط بعد از آن قدیمیها را از رده خارج کنید.