آموزش Socket.IO با io.js و Express – بخش دوم

آموزش Socket.IO با io.js و Express – بخش دوم

خوب، در بخش قبل با مراحل ابتدایی آماده سازی پروژه آشنا شدیم، در این بخش می خواهیم با بخش های هیجان انگیز آشنا شویم. 🙂

 

ساخت یک سرور

 

در این بخش نیاز داریم که یک فایل جدید ایجاد کنیم تا io.js آن را اجرا کند. از Express به عنوان فریم ورک وب خود استفاده می کنیم. اگر می خواهید اطلاعات بیشتری در مورد Express به دست آورید پیشنهاد می کنم لینک های زیر را بررسی کنید:

 

 

ابتدا در داخل دایرکتوری که در بخش قبل ساختید فایل جدیدی به نام app.js ایجاد کنید:

 

 

بیشتر کارها در همین فایل انجام می شود. ابتدا Express را فراخوانی کردیم و یک سرور را ایجاد کردیم. آنگاه Socket.IO را فراخوانی کردیم. ما در فایل فوق پوشه bower_components از آنجایی که با استفاده از bower کتابخانه jquery را اضافه کرده ایم به برنامه خود معرفی کرده ایم.

 

app.get برای مشخص کردن مسیرهای http با یک تابع callback استفاده می شود. شیء res پاسخ های HTTP که از سوی برنامه Express به عنوان یک درخواست فرستاده می شود را نمایش می دهد. sendFile فایل را در آدرسی که مشخص کرده ایم ارسال می کند. ما در ادامه، فایل index.html را ایجاد می کنیم. server.listen یک پورت را باز می کند و به درخواست هایی که می آید گوش فرا می دهد.

 

فایل index.html را در ریشه برنامه خود اضافه کنید:

 

 

حال می توانیم سرور خود را روشن کنیم تا مطمئن شویم که همه چیز به درستی کار می کند.

 

 

اگر از طریق مرورگر خود به آدرس localhost:3000 برویم، باید Hello, World و یک فرم ورودی را مشاهده کنیم:

 

node

 

Client Socket Emit

 

اولین کاری که می خواهید انجام دهیم این است که می خواهیم ببینیم آیا کلاینت می تواند با استفاده از Socket.IO به سرور متصل شود و پاسخ در کنسول چاپ شود؟!

 

برای این کار ابتدا فایل index.html را بصورت زیر ویرایش می کنیم:

 

 

socket.on('connect') یک رویداد (event) است که با یک اتصال موفق از مرورگر وب اجرا می شود. آنگاه ما با استفاده از یک تابع callback جمله hello world را به سرور ارسال می کنیم.

 

اجازه دهید کد زیر را به سرور خود اضافه کنیم:

 

 

همانطور که مشخص است io.on به اتصال گوش می دهد. هنگامی که یک اتصال موفق دریافت کند در کنسول پیام clinet connected... چاپ می شود. شما همچنین می توانید به دلخواه تعدادی رویداد برای گوش دادن به client تعریف کنید. client.on('join') منتظر پیام از سوی client می شود.

 

اگر دوباره iojs app.js را اجرا کنید، خواهید دید که پیام Hello World from client در کنسول چاپ می شود.

 

client-connected

 

در بخش آخر با مطالب بیشتری آشنا خواهیم شد. 😉