irpcpro 7 گزارش دادن #1 ارسال شده در یکشنبه در 14:42 سلام . من یه کد ساده php و ajax و mysql نوشتم ، ک از دو کاربر متن هاشونو میگیره و داخل دیتابیس ذخیره میکنه (سیستم چت آنلاین بین دو کاربر) همه چیز اوکی هست و کامل کدها نوشته شده . ولی یه قسمت کد که مربوط به چک کردن داعم دیتابیس هست ک اگه هروقت پیام جدید ارسال شد ، اونو بیاد نمایش بده . این چک کردن رو هر 3 ثانیه یکبار انجام میده . ولی اینکار فشار سنگینی روی سرور ایجاد میشه . داخل ajax قسمت error هم یه متن نوشتم ک هروقت از سمت سرور مشکلی پیش اومد اون متن رو نمایش بده : error: function () { alert('خطا در سرور . صفحه را مجددا بارگذاری نمایید 70'); } وقتی سیستم درحال چک کردنه (سایت بازه) ، صفحه رو رفرش میکنم این پیام رو نمایش میده .. با اینکه سیستم های دیگه ک از همین الگوریتمی استفاده میکنن برای سیستم چت ، همچین فشاری روی سرور نمیاد و وقتی صفحه رو رفرش میکنم پیام اروری نمیده . به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
irpcpro 7 گزارش دادن #2 ارسال شده در دیروز در 07:46 دوستان کسی هست ؟ به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
Mohammad 8,868 گزارش دادن #3 ارسال شده در دیروز در 12:43 شما سورس رو نزاشتی که بشه بررسی کرد. اما بهترین راهکار برای این مواقع وب سوکت هست یک آموزش مناسب با PHP گذاشتند در یوتیوب ، پیشنهادش میکنم. (سورس هم در توضیحات آموزش قرار دادند) محتوای مخفی برای مشاهده لینک ها می بایست در وب سایت عضو باشید! 2 واکنش ها : motorola30 و irpcpro به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر
irpcpro 7 گزارش دادن #4 ارسال شده در 10 ساعت قبل خیلی ممنون . بله ، آخه کد چیز خاصی نداره . میخواستم بدونم الگوریتم دقیقش به چه صورت هست برای اینکه به سرور فشار نیاد و همش درخواست به سرور ارسال نشه . این کد jq هست : function chat_check_updates(){ toUserId = 0; if($("* div#eachPerCmFromUserDU").length) toUserId = $("* div#eachPerCmFromUserDU.activeThisChat").data('iddu'); $.ajax({ url : ajaxurl, type : 'POST', dataType : 'json', cache : false, data: { action : 'loadingChat', 'doctor': DUDI, 'user' : toUserId, }, success: function (response) { if(response.msgch != "" && response.msgch != null){ $("#bgBoxChatsTextDU div#beforeMeAddBox").before(response.msgch); ScrollDownChat(); playSound('get'); } setTimeout(() => { chat_check_updates(); }, 5000); }, error: function () { alert('خطا در سرور . صفحه را مجددا بارگذاری نمایید 70'); } }); } بعد قسمت php هم برای اینکه کامل کل دیتابیس رو جستجو نکنه ، تنها یک table رو بررسی میکنه ک اگه اون مقدار 1 شد ، بفهمه آپدیت جدید هست و کل دیتابیس رو لود کنه . از این طریق یکم فشار روی سرور رو برداشتم ، ولی نمیدونم کد ajax درست هست ؟ با اینکه درست کار میکنه ، احساس بدی دارم و حتی وقتی صفحه رو رفرش میکنم یا روی لینکی کلیک میکنم (که بره یه صفحه دیگه ) آلرت error رو نمایش میده . به اشتراک گذاری این ارسال لینک به ارسال به اشتراک گذاری در سایت های دیگر