PDA

View Full Version : اتصال چند کلاینت به یک سرور در indy



amprator
یک شنبه 04 اسفند 1387, 12:14 عصر
http://barnamenevis.org/forum/D:\KAMRAN\PICTURE\fsbatirof.jpgسلام
میخوام در دلفی7 چند کلاینت رو به یک سرور وصل کنم اما سرور فقط به اخرین کلاینت پیغام میفرستد
چطور باید thread ایجاد شده توسط سرور برای هر کلاینت را نگهداری کنم وبعد توسط آن به کلاینتش بیغام بفرستم .

چطوری کالینت ها به هم پیغام بفرستند؟

accpascal
یک شنبه 04 اسفند 1387, 14:16 عصر
من این کار را با استفاده از serversocket و clientsocket انجام داده ام و مشکلی هم نداشت
پیغام کلاینتها در سرور را با آدرس آی پی نگهداری کن و پیغام سرور را به آدرس آی پی های ذخیره شده بفرست

vcldeveloper
یک شنبه 04 اسفند 1387, 16:45 عصر
در Indy 9، به ازاء هر کلاینت یک Thread ساخته میشه که شی مربوط به آن به رویداد OnConnect سرور به عنوان پارامتر ارسال میشه. می تونید آن را در یک لیست ذخیره کنید.
در Indy 10، سرور لیستی از Threadهای مربوط به کلاینت ها را در خصوصیت Contexts نگهداری میکنه.

amprator
دوشنبه 05 اسفند 1387, 18:07 عصر
سلام
از راهنمایی اسا تید محترم بسیار......متشکرم

با اجازه می خواستم یک سوال دیگر هم بپرسم که سوالم از روی بیسوادی است:
در برنامه ای که نوشتم کلاینتها که به سرور متصل میشن بازدن دکمه کانکت نام کاربری کلاینت به سرور فرستاده میشه سروردر لیست پیوندی که داره نام کاربری کلاینت رو برسی میکنه اگر تکراری باشه به کلاینت پیغام بده که نام کاربری تکراری است.
درسمت کلاینت هم لیست کاربرهای متصل به سرور هم نمایش داده بشه.
باراهنمایی شما یک فیلد به لیست اضافه کردم که اشاره گر به ترد کاربری لست که نام آن در فیلد username لیست پیوندی قرار دارد وبرای پیغام فرستادن به آن کاربر ازش استفاده کنم.
لیست پیوندی رو در یک روال قرار دادم که در server execute فراخوانی میشود اما کاربر دومی را که میخواد اضافه کنه error میده . البته لیست رو در یک برنامه ساده چک کردم درست کار میکنه .
با کمال شرمندگی که صورت سوال زیاد شد. لطفا گه ممکنه راهنمایی کنید. اگه روشم درست نیست هم یک روش درست بهم بگیید .ضمنا من اولین باره با دلفی برنامه می نویسم. و از indy9 هم استفاده میکنم :خجالت: