Skip to content

Tag: socket.io

บันทึกการใช้งาน Socket.io v1 และประเด็นที่น่าสนใจ

ใครที่ใช้ Node.js ในการทำ real-time application น่าจะรู้จัก WebSocket และ Socket.io กันเป็นอย่างดี ตอนนี้ Socket.io เดินทางมาถึง version 1 แล้ว (ล่าสุดที่ผมเขียนโพสต์นี้คือ 1.5.0) ซึ่งก็มีหลายอย่างเปลี่ยนไปจากรุ่น 0.9 ค่อนข้างมาก หลายโปรเจกต์ที่ผมเคยเขียนไว้ด้วย version 0.9 ตอนนี้ก็ outdated ไปแล้วไม่สามารถใช้งาน version 1 ได้ แต่ก็มีบางงานที่ใช้ version 1 แล้ว พบประเด็นที่น่าสนใจเลยอยากบันทึกไว้สักหน่อย

ผมอยากมีหนังสือ NodeJS Tutorial ของตัวเองสักเล่ม จะเป็นไปได้ไหมนะ

หนังสืือ NodeJS Tutorial
NodeJS

ทำไมผมถึงอยากเขียนหนังสือ NodeJS Tutorial

ความคิดนี้ไม่ใช่เพิ่งเกิดครับ ผมคิดถึงมันอยู่เสมอ เคยบล็อกถึงในบล็อกเก่าเมื่อหลายปีมาแล้วด้วย (ตอนนี้บล็อกนั้นหายไปแล้ว)

บล็อกก่อนผมเขียนถึงมุมหนังสือ 3 มุมของผม ซึ่งก็อย่างที่บอกไปครับว่าประเภทของหนังสือและแนวหนังสือที่ผมอ่านมันขึ้นอยู่กับวัย ซึ่งช่วงที่ผมใช้เวลากับมันมากที่สุดและพอที่จะถ่ายทอดออกมาได้ก็คือช่วงที่ผมขลุกอยู่กับหนังสือคอมพิวเตอร์ IT และโปรแกรมมิ่ง

ผมเดินสังเกตตามชั้นหนังสือคอมพิวเตอร์ตามร้านหนังสือต่างๆ มาหลายที่ หลายปี แล้วก็พบว่าหนังสือเกี่ยวกับคอมพิวเตอร์ไม่ค่อยหลากหลาย ที่เพิ่มขึ้นมาเยอะในช่วงหลังคือหนังสือเกี่ยวกับ Social Network และ Mobile app แต่ทางด้านโปรแกรมมิ่งแล้วความหลากหลายแทบไม่มีเลยเคยเป็นมายังไงก็เป็นอยู่อย่างนั้น ภาษาโปรแกรมมิ่งที่เห็นหนังสือมากหน่อยคือด้านเว็บอย่าง PHP และภาษาที่มีการเรียนการสอนในห้องเรียนอย่าง C/C++, Java ภาษาใหม่ (ใหม่สำหรับเมืองไทย) เช่น Python และ Ruby ก็เคยเห็น แต่ออกมาแค่เพียงเล่มเดียวก็หายไปซะแล้ว

Node.js tips: Socket.io การใช้งาน emit และ broadcast

การส่งข้อมูลระหว่าง client และ server ของ Socket.io ใช้ method  emit() ซึ่งก็มีการใช้งานหลายแบบตามแต่access control ของแต่ละ app ผมขอสรุปตามรูปแบบที่ผมใช้งานบ่อยๆ ดังนี้ครับ

สมมุติว่าผม require  module socket.io เข้ามาแบบนี้

Source code ของ Twitter Thai Stream บน GitHub

บล็อกก่อนๆ ผมเอา app ที่เขียนด้วย Node.js และ Socket.io deploy ขึ้น OpenShift ซึ่งก็คือ http://thstream-khasathan.rhcloud.com

ตอนนี้ผมอัปโหลดโค้ดขึ้นไปบน GitHub ละเผื่อใครที่กำลังศึกษา Node.js เอาไปลองศึกษาดู คลิกตามไปโลด

Happy coding ครับ 🙂