این ارسال پرطرفدار است. امین مهدی نژاد 2,142 ارسال شده در 28 فروردین، ۱۴۰۱ این ارسال پرطرفدار است. اشتراک گذاری ارسال شده در 28 فروردین، ۱۴۰۱ مشاهده فایل irSSE یکی از مواردی که به طور مدام در انجمن شاهد آن بودم نیاز به دسترسی سوکت در هاست های معمولی است. از آنجایی که خرید سرور مجازی و یا اختصاصی هزینه بالایی را برای دوستان و استارت آپهای آنها در آغاز کار دارد. داشتن چنین کتابخانه ای از سوالات همیشگی دوستان در این انجمن بوده است. فناوری SSE یک فناوری ارتباطی یک طرفه است که به راحتی با قابلیت های موجود در PHP می توانید رکوئست های وب را برای ارسال و پایگاه داده را برای واسط و این فناوری را برای ارسال بلادرنگ استفاده نمایید. استفاده اولیه این فناوری در ارتباطات یکطرفه مثل گرفتن آمار لحظه ای بورس و قیمت ها بوده است ولی در ادامه مواردی مثل بازی ها و چت هم با این فناوری توسعه داده شده اند. در گیتهاب سورس ها و نمونه های متنوعی از مثالهای مناسب برای این فناوری وجود دارد. در مرورگرها هم این فناوری افزوده شده توضیحات بیشتر در سایت موزیلا آموزش نحوه استفاده و توضیحات بیشتر را در پست مربوطه این کتابخانه ارسال خواهم کرد. ارسال کننده امین مهدی نژاد ارسال ۰۱/۰۱/۲۸ دسته کتابخانه ها 8 2 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
سید رضا 9 ارسال شده در 29 فروردین، ۱۴۰۱ اشتراک گذاری ارسال شده در 29 فروردین، ۱۴۰۱ لطفا php های مربوطه رو هم پیوست کنید نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
امین مهدی نژاد 2,142 ارسال شده در 29 فروردین، ۱۴۰۱ سازنده اشتراک گذاری ارسال شده در 29 فروردین، ۱۴۰۱ در ۱۴۰۱/۱/۲۹ در 00:20، سید رضا گفته است: لطفا php های مربوطه رو هم پیوست کنید در زیر تعدادی از پروژه های گیتهاب مفید رو لینک میکنم. ساده ترین مثال در زیر https://github.com/limweb/ssephp https://github.com/tuanpht/sse-demo اینم نمونه چت https://github.com/lcherone/sse-chat-example نمونه رابط WEBRTC https://github.com/nielsbaloe/webrtc-php https://github.com/hajertamas/sse-server اینم مثال دیگه ای https://github.com/rdeeceria/ssecrud بعدا سر فرصت توضبحاتی برای راه اندازی یک مثال با توضیحات بیان خواهم نمود 3 1 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
امین مهدی نژاد 2,142 ارسال شده در 1 اردیبهشت، ۱۴۰۱ سازنده اشتراک گذاری ارسال شده در 1 اردیبهشت، ۱۴۰۱ آموزش کدنویسی سمت PHP مثال زیر را در نظر بگیرید. <?php header("Cache-Control: no-store"); header("Content-Type: text/event-stream"); $counter = rand(1, 10); while (true) { // Every second, send a "ping" event. echo "event: ping\n"; echo "id: $counter\n"; $curDate = date(DATE_ISO8601); echo 'data: {"time": "' . $curDate . '"}'; echo "\n\n"; ob_end_flush(); flush(); $counter--; if (!$counter) break; // Break the loop if the client aborted the connection (closed the page) if ( connection_aborted() ) break; sleep(1); } دو خط ابتدایی کد تنظیم نوع ارسال دیتا میباشد که همیشه آنرا قرار دهید header("Cache-Control: no-store"); header("Content-Type: text/event-stream"); اکنون به while دقت کنید که مقدار true دارد. در اینجا حلقه ای بی نهایت ساخته شده تا روند اجرا به انتهای کدها نرسیده و مدام ادامه داشته باشد. شما خودتان می توانید با شرطهایی در صورت نیاز آنرا به پایان برسانید و یا از سمت کاربر با قطع ارتباط این روند را خاتمه ببخشید. که این مورد در خط های انتهایی با این کد تعین شده است if ( connection_aborted() ) break; حال به sleep در انتهای کدها دقت کنید این کد سبب میشود که یک ثانیه بین اجرای هرباره حلقه تاخیر بیوفتد کدهای ارسال پیام به این کدها دقت کنید echo "event: ping\n"; echo "id: $counter\n"; $curDate = date(DATE_ISO8601); echo 'data: {"time": "' . $curDate . '"}'; echo "\n\n"; رویداد ping باید همنام ساب فراخوان در بیسیک باشد. مانند Public Sub ping(id As Object,data As Object) End Sub بعد هم آی دی و دیتای ارسالی را مشخص کرده ایم. دقت کنید که در انتهای هر بخش به خط بعدی منتقل شده و بعد از دیتا دوبار این روند تکرار شده است در انتهای داده های ارسالی هم حتما کدهای زیر را مانند مثال قرار دهید تا اطلاعات به کلاینت به درستی ارسال شوند. ob_end_flush(); flush(); نکته مهم: در php برای هر اتصال کاربر یکبار سورس اجرا میشود. و این برخلاف زبانی مثل جاوااسکریپت است. در جاوااسکریپت کد ما میتواند لیست تمام کاربران را در آرایه ای ذخیره کند. ولی در php ما دیتای قابل ارسال را در فضایی جدا مثل دیتابیس و یا فایل ها ذخیره کنیم. در MySQL نوعی جدول مناسب این روند وجود دارد بنام مموری که با ساخت آن میتوان دیتا را به سرعت بازیابی و یا ذخیره نمایید. 7 نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mehrad 37 ارسال شده در 11 اردیبهشت، ۱۴۰۱ اشتراک گذاری ارسال شده در 11 اردیبهشت، ۱۴۰۱ بسیار مفید بود نقل قول لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
به گفتگو بپیوندید
هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .
توجه: strong> مطلب ارسالی شما پس از تایید مدیریت برای همه قابل رویت خواهد بود.