ورود

View Full Version : سوال: نحوه پیدا نمودن نام کلاینت



سیروس مقصودی
شنبه 11 آذر 1391, 13:44 عصر
با سلام

من برنامه ای نوشته ام که تحت شبکه میباشد . و از طریق Share , کلاینتها برنامه را اجرا میکنند من میخواهم تعداد کلاینتهایی را این برنامه را اجرا میکنند را بدست بیاورم من برای اینکار جدولی طراحی کردم که وقتی یک کاربر (نام کاربر در جدول دیگری ثبت شده است) وارد سیستم میشود نام کاربر درآن جدول ثبت میشود و وقتی از سیستم خارج میشود نام آن کاربر را از آن جدول حذف میکنم و این کار تا وقتی جواب میدهد که برق قطع نشود وقتی برق قطع میگردد نام کاربر در جدول باقی میماند و به اینصورت نمیتوانم تعداد کلاینتهای وصل شده به سیستم را پیدا کنم . من چگونه میتوانم وقتی کلاینتی سیستم را اجرا نمود نام سیستم (Computer Name) آن دستگاه را بدست بیاورم و چگونه میتوانم نام سیستم (Computer Name) ی را که در جدول ثبت شده را چک کنم که آیا هم اکنون برنامه را اجرا کرده است یا نه ؟

لازم به توضیح است که من از SqlServer 2000 استفاده میکنم .

با تشکر فراوان ...

Felony
شنبه 11 آذر 1391, 14:04 عصر
با استفاده از پرتوکول TCP و کامپوننت های مربوط به اون در دلفی هر چند دقیقه توسط سرور یک پیغام رو Broadcast کنید ، تو برنامه کلاینت ها تعریف کنید که با دریافت این پیغام اسم خودشون رو به سرور اعلام کنند ، بعد از ارسال این پیغام اون جدولی که لیست سیستم های آنلاین رو درش نگهداری میکردید رو به روز کنید و نام سیستم هایی که خودشون رو معرفی نکردن رو از جدول حذف و سیستم هایی که خودشون رو معرفی کردن رو نگه دارید یا اگر جدید بودن درجشون کنید .

در مورد نحوه پیاده کردن هم میتونید سورس کدهای مربوط به برنامه های چت که به وفور در این تالار یافت میشه رو مطالعه کنید .

در آخر اگر برنامه معمولی هست که هیچ ولی اگر برنامه تجاری و ... هست اشتراک گذاری فایل اجرایی برنامه به اون صورت در شبکه کاملا اشتباه هست .