เริ่มเรื่องจากผมต้องแล็บระบบ chat online นำไป implement ระบบให้กับบริษัทยักษ์ใหญ่บริษัทหนึ่ง หลังจากทำการค้นคว้าเลยได้รู้ว่ามันมีโปรโตคอลมาตรฐานที่ชื่อว่า XMPP ที่ถูกสร้างขึ้นมาเพื่อการนี้โดยเฉพาะ google hangout และ facebook chat ก็ใช้โปรโตคอลตัวนี้

XMPP มันมีองค์ประกอบ 2 ส่วน คือส่วนที่เป็น เซิฟเวอร์และไคลเอน ส่วนของเซิฟเวอร์นั้นมีโปรแกรม opensource ที่ชื่อ openfire ถูกสร้างไว้ให้นำมาใช้ฟรีๆอยู่แล้ว ส่วนไคลเอน ก็มีโปรแกรมฟรีมากมายให้ใช้งาน ทั้งแบบติดตั้งบนเดสก์ท้อป และจาวาสคริปต์เพื่อนำไปฝังไว้ในเว็บ เรียกได้ว่ามีของฟรีให้ใช้อยู่แล้ว เหลือเพียงแค่รู้วิธีเอาสองส่วนนี้มาประกอบกัน มันก็กลายเป็นระบบที่ใช้งานได้

การประยุกต์ใช้งาน นอกจากจะทำเป็น chat online แล้ว เรายังสามารถนำไปประยุกต์ทำระบบ private communication ภายในองค์กร, ห้องแชท, ระบบส่งไฟล์ออนไลน์, ระบบซัพพอร์ตแบบเรียลไทม์, ระบบประชุมออนไลน์, ระบบสื่อสารในเกมส์ออนไลน์ และอีกเยอะแยะมากมายปัญหาอย่างหนึ่งของการค้นคว้าบนอินเตอร์เน็ต คือ ข้อมูลมันกระจัดกระจายและไม่เป็นขั้นตอนที่เริ่มนับจากหนึ่ง ไปเจอข้อมูลระดับสูงก่อน ก่อนมาเจอข้อมูลพื้นฐาน เจอข้อมูลขาดๆหายๆไม่สมบูรณ์บ้าง เจอข้อมูลเก่าบ้าง ทำให้เราหลงทางและเสียเวลาไปค่อนข้างมาก

ผมจึงเขียนหนังสือเล่มนี้ขึ้นมาเพื่อเป็นทางตรงให้กับท่าน เริ่มจากข้อมูลพื้นฐานที่ควรจะต้องรู้ จนไปถึง implement ระบบที่มันใช้งานได้จริง พอท่านรู้ว่ามันใช้งานได้จริงๆแล้ว ท่านจะศึกษาแตกแขนงไปจากสิ่งที่รู้เดิม มันก็จะทำให้ความรู้นั้นยิ่งลึกและกว้าง เข้าไปอีก อีกทั้งไม่ไปผิดทางด้วย

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

ขอปัญญาจงเกิดแก่ท่าน

สารบัญ

  • คำนำ
  • ทำความรู้จัก XMPP Protocal
  • ติดตั้ง XMPP เซิฟเวอร์
    • ติดตั้ง java runtime environment (jre)
    • ดาวน์โหลด OpenFire
    • ติดตั้ง Openfire
    • หมายเหตุ Error ระหว่างการติดตั้ง
  • ทดสอบ Online chat
    • เพิ่ม user เข้าไปในระบบ
    • ติดตั้งโปรแกรม pidgin
    • chairoj ล้อกอิน pidgin
    • ติดตั้งโปรแกรม gajim
    • sumet ล้อกอิน gajim
    • ให้ sumet แชทออนไลน์กับ chairoj
  • สรุปยกแรก
  • สร้างระบบ Chat แบบ facebook
    • enable proxy mod apache
    • enable virtual host apache
    • สร้าง virtual host igetweb-pc.dev
    • ตรวจความพร้อมของ openfire
    • สร้างแชทแบบ facebook ด้วย conversejs
    • อธิบายโค้ด
  • ติดตั้ง Openfire ด้วย mySQL
  • ปรับแต่ง openfire ให้ใช้ดาต้าเบส member ที่มีอยู่แล้ว
    • เริ่มกระบวนการปรับแต่ง
    • ความหมายของค่า config
  • รวมปัญหาที่ผมประสบตอนทำ ปรับแต่ง openfire ให้ใช้ดาต้าเบส member ที่มีอยู่แล้ว