مهدی
5 سال پیش توسط مهدی مطرح شد
4 پاسخ

ارسال پیام در چت بین دو کاربر

سلام دوستان @hesammousavi @hossein.r.1442 @ali.bayat @mohsenbostan @juza66 @amin.mokhtari94 @coaradsupp @elyasbeshkani
من وبسرویسی دارم که با لاراول زدم و کاربران توش ثبت نام میکنن و در جدول users ثبت میشن و هر کدوم یک ID دارن ، این از این

حالا یه چت سرور هم با وب سوکت نود جی اس زدم در کنار پروژه لاراولی ،
چت دو جور هست : گروهی ، خصوصی
کاربرا قراره در خصوص محصولات چت کنن و تبادل دیدگاه

گروهی هیچ مشکلی ندارم و هر کاربری که وارد محیط گفتگوی یک محصول میشه ، توی گروهی با اسم group_productid جوین میشه و با نود پیام رو توی این گروه emit میکنم.

ولی برای پیامهای خصوصی یه چالشی وجود داره اونم اینکه وب سوکت برای ارسال یک پیام به یک سوکت خاص میگه id سوکت کانکشن مورد نظر رو بده تا پیام رو دقیقا به اون سوکت ( شخص هدف ) ارسال کنم ولی سئوال و مشکل اینجاست که مثلا اون شخص شروع کننده پیام از کجا باید id کانکشن سوکت شخص گیرنده پیام رو بدونه و اصلا گیریم آخرین شناسه اتصال کاربر گیرنده رو در پروفایلش ذخیره کرده باشیم و بیاییم پیام رو emit کنیم به اون سوکت آی دی ولی چه تظمینی وجود داره که اصلا همچین سوکتی آنلاین هست الان یا نه
چون ممکنه کاربر 5 دقیقه قبل کانکشن وب سوکتش باز شده باشه و یه id گرفته باشه ولی الان کانکشنشو بسته و دیگه همچین سوکتی وجود نداره

چیزی که خودم به ذهنم میرسه اینه که هر کاربری وقتی وارد محیط های گفتگو میشه ( چه گروهی و چه خصوصی ) ، موقع برقراری کانکشنش بیام یه کلید user_id به سوکتش اضافه کنم و از طریق این کلید به شناسه اتصالش پی ببرم ، ولی گفتم شاید روش های بهتری وجود داشته باشه
ممنون میشم هر کی کار کرده تجربه اش رو با من به اشتراک بذاره


ثبت پرسش جدید
coarad supp
تخصص : برنامه نویس لاراول
@coaradsupp 5 سال پیش مطرح شد
-1

سلام، به نظرم بهترین کار این هست که هر یوزر برای مثلا {chat-{id که ای دی میشه ایدی خودش گوش بده، و وقتی که برای مثال من برای شما پیام فرستادم، ایدی شما توی ایونت ارسال بشه، به این شکل فک کنم راحت بشه انجامش داد


مهدی
تخصص : توسعه دهنده
@mehdi539 5 سال پیش مطرح شد
0

@coaradsupp عزیز
پرسش من یه چیز دیگه هست
چیزی که شما فرمودین مد نظر من نیست ،
مشکل من اینه که id کاربر با id کانکشن سوکتش متفاوته ، و بدتر از اون اصلا id کانکشن سوکت کاربر کاملا متغییر هست و در هر بار اتصال یه مقدار جدید هستش
من چطور باید شناسه اتصال سوکتی کاربر رو بدست بیارم یا ثابتش کنم و بهش پیام ارسال کنم


احسان الوندی
تخصص : توسعه دهنده وب
@Alvandi 3 سال پیش مطرح شد
0

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


احسان الوندی
تخصص : توسعه دهنده وب
@Alvandi 3 سال پیش مطرح شد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام