راهاندازی برنامه Websocket
وبسوکت (WebSocket) یک فناوری ارتباطی در وب است که به سرور و مرورگر اجازه میدهد از طریق یک اتصال دوطرفه دائمی، دادهها را به صورت تعاملی ارسال و دریافت کنند. در واقع مرورگر میتواند دادهها را بفرستد و دریافت کند بدون اینکه نیازی به بارگیری دوباره صفحه وب (refresh) باشد. این ویژگی به برنامههای تعاملی مانند چتهای زنده و بازیهای آنلاین کمک میکند. در ادامه، به نحوه ایجاد برنامه WebSocket در فریمورک NextJS با استفاده از پکیج Socket.IO و همچنین نحوه استقرار آن در لیارا، پرداخته شده است.
ساخت برنامه WebSocket در NextJS
پروژه در پیشرو، یک چتروم تحت وب در فریمورک NextJS است که کاربران میتوانند در آن به صورت Realtime (با تکیه بر WebSocket) به گفتگو بپردازند. در ابتدا، بایستی پکیجهای مورد نیاز برنامه را با اجرای دستور زیر با استفاده از npm، نصب کنید:
در ادامه، بایستی در مسیر اصلی پروژه، یک فایل به نام server.js ایجاد کنید و محتوای زیر را درون آن قرار دهید. این فایل برای مدیریت برنامه NextJS و سرور Socket.IO به کار میرود:
سپس، در مسیر اصلی پروژه، یک دایرکتوری به نام components ایجاد کنید و درون آن، یک فایل به نام Chat.js بسازید و قطعه کد زیر را، درون آن، قرار دهید:
پس از انجام کار فوق، کافیست تا در مسیر pages/index.js قطعه کد زیر را قرار دهید:
تمامی کارها انجام شده است و شما میتوانید با اجرای دستور node server.js برنامه خود را اجرا کرده و از آن استفاده کنید.
استقرار برنامه NextJS WebSocket در لیارا
از آنجایی که برنامه WebSocket فوق (یا به صورت کلی، اکثر برنامههای مبتنی بر Websocket) به یک سرور برای مدیریت Socket نیاز دارند؛ بنابراین برای استقرار این برنامه در لیارا، بهتر است که از پلتفرم NodeJS استفاده شود. برای این کار کافیست تا طبق مستندات ساخت برنامه NodeJS یک برنامه NodeJS ایجاد کنید و اسکریپت start درون فایل package.json خود را به شکل زیر، تغییر دهید:
در نهایت، کافیست تا با اجرای دستور زیر، برنامه خود را در لیارا، مستقر کنید:
سورس کامل یک برنامه NextJS WebSocket آماده استقرار در اینجا موجود است که میتوانید از آن استفاده کنید.