ورود

View Full Version : کافی نت--کنترل بر روی کلاینتها



desatir7316
شنبه 26 دی 1388, 17:07 عصر
سلام
من یه پروژه کافی نت برای پایان ترم با دلفی می خوام ینویسم که سرور بتونه روی کلاینتها کنترل داشته باشه مثلا بتونه دسکتاپ رو قفل و فعال کنه و از طرف دیگه بتونه زمان ورود و خرج و زمان باقی مانده از زمانی که به هر کاربر داده می شه رو ثبت کنه
چطوری میشه روی تاریخ و زمان محاسبه انجام داد
ممنون می شم اگه کمکم کنید
من با دلفی زیاد آشنایی ندارم و استاد هم پروژمو با دلفی معرفی کرده

Felony
شنبه 26 دی 1388, 17:28 عصر
چطوری میشه روی تاریخ و زمان محاسبه انجام داد
راجع به توابع کتابخانه DateUtils مطالعه کنید .

من با دلفی زیاد آشنایی ندارم و استاد هم پروژمو با دلفی معرفی کرده
اگر با دلفی آشنایی ندارید به مشکل بر میخورید ، اول رو مباحث اولیه دلفی متمرکز شید و اونها رو یاد بگیرید و بعد سراغ برنامه نویسی سوکت با Indy و ... برید .

desatir7316
شنبه 26 دی 1388, 22:12 عصر
سلام دوستان
با کمک جناب silveroft به یه جاهایی رسیدم ولی وقتی می خواستم برناممو توسیستم خودم تست کنم به مشکل بر خوردم
برنامه از شماره سوکت خطا می ده
یکی از درایوامم share کردم و برنامه کلاینت رو توی اون درایو ریختم ولی موقع اجرا این خطا رو میده

Socket Error # 11001
Host not found.
البته من شماره پرتمو توی هر دو برنامه طبق کتاب مارکو کانتو 1050 تعریف کردم

لطفا کمک کنید
مرسی

desatir7316
یک شنبه 27 دی 1388, 15:17 عصر
لطفا اگه میشه کمک کنید

Felony
یک شنبه 27 دی 1388, 15:27 عصر
یکی از درایوامم share کردم
نیازی به اشتراک گزاشتن درایو نیست .

از چه پرتکلی برای اتصال استفاده کردید ؟
چک کنید ببینید برنامه میزبان فعال هست ؟
برنامه ها برای گرفتن دسترسی به فایروال معرفی شدن ؟
پرت هر دو برنامه میزبان و سرویس گیرنده یکی هست ؟

desatir7316
یک شنبه 27 دی 1388, 16:02 عصر
ممنون که جواب می دین

TCP/IP
آره میزبان هم فعاله
پورت هر دوتاشونم یکیه
فقط قسمت معرفی به فایروال رو نمی دونم
توی مرجعی هم که استفاده می کنم این کد نوشته شده که دلفی ازش خطا میگیره

procedure TForm1.IdTCPServer1AfterCommandHandler(ASender: TIdTCPServer;
AThread: TIdPeerThread);
begin
lbLog.Items.Add('Connected from:' + AThread.Connection.Socket.Binding.PeerIP);
end;


از این کامپوننتها استفاده کردم:
IdTCPServer1 IdTCPClient1
منتظر کمکتونم
مرسی

desatir7316
یک شنبه 27 دی 1388, 18:27 عصر
به خدمت دوستان برسونم چون من سابقه ام توی ان سایت کمه نمی توم پیام خصوصی بفرستم
اگه میخایین ایمیلتونو برای من بفرستید تا با در مورد این برنامه صحبت کنیم

desatir7316
یک شنبه 27 دی 1388, 23:34 عصر
دیگه کمک کردن تموم شد
خطای این کدی که نوشتم چیه
لطفا کمک کنید
دوستان silversoft و delphi-7 منتظر کمکتون هستم

Mahmood_M
دوشنبه 28 دی 1388, 00:15 صبح
برای کنترل کردن کلاینتها نباید تمام کارها رو از روی سرور انجام بدید ، یک برنامه ی کلینت ایجاد کنید و روی سیستمهای کلاینت نصب کنید ، اگر لازم بود که کار خاصی در سیستم کلینت مورد نظر انجام بشه ، به وسیله ی سرور به کلینت پیغام بفرستید و برنامه ی کلینت این کار رو انجام بده و منتظر دستورات دیگه از سرور بمونه ، برای ارتباط بین سرور و کلینت از کامپوننتهای Indy استفاده کنید ، از IDTCPClient برای کلینت و از IDTCPServer برای سرور ...
تنها کاری که باید انجام بشه ارسال یک سری دستورات یا به صورت یک رشته یا به صورت Command بین این دو کامپوننت هست ...
مثلا برای قفل کردن دسکتاپ کافیه یک متن ، مثلا " Lock Screen " رو به کلینت بفرستید و در کلینت چک کنید که اگر همچین متنی فرستاده شد ، کد خاصی که مربوط به غیر فعال کردن دسکتاپ هست اجرا بشه ، در واقع کنترل کلینت دست نرم افزار کلینت ی هست که در سیستم کلینت نصب میشه و و کنترل نرم افزار کلینت هم دست سرور هست که بهش دستور ارسال میکنه ، البته نحوه ی کار اون کامپوننتها طوری هست که ابتدا باید از کلینت درخواست به سرور فرستاده بشه و سرور جواب بده ...
علاوه بر اینکه می تونید به صورت یک رشته پیغامها رو بفرستید ، خود کامپوننتهایی که معرفی کردم یک امکان Command Handler دارند برای همین کار ، که می تونید از اونها هم استفاده کنید ...
در این صفحه (http://delphi.about.com/od/internetintranet/l/aa012004a.htm) یک برنامه نمونه برای ارسال اطلاعات بین کلینت و سرور وجود داره ، در همون سایت هم می تونید مطالب بیشتری در این مورد پیدا کنید ...
مقالاتی هم در این زمینه توسط یکی از دوستان در این تالار (http://barnamenevis.org/forum/showthread.php?t=52037) نوشته شده که می تونه مفید باشه ...

برای آشنایی با جزئیات کار توصیه می کنم مقاله ای که معرفی کردم رو مطالعه کنید ...

موفق باشید ...