Socket!!! by

29
May
0

วันนี้เรามาว่ากันด้วยเรื่องของ Socket กันดีกว่าคับ
เราจะใช้ nodejs กันนะครับ!!

วิธี install เปิด cmd มา พิม npm install nodejs แล้วรอ รอ …
เสร็จแล้วคับ ลดเรียบร้อยเราก็ไปดูวิธีการใช้กันนะครับ

เราก็เขียนไฟล์ .js ไว้ที่ไหนก็ได้นะครับ ตัวอย่าง ไฟล์อยู่ใน C:\\server.js
เราก็ เปิด cmd ขึ้นมา แล้วก้อ พิม cd.. จนมันเหลือแค่ C:\> นะคับ
(ถ้าไฟล์อยู่ที่อื่นก็เข้าไปจนมันชี้ที่ที่ไฟล์อยู่นะแหละครับ)

เวลาจะเรียก run code ก้อพิม node server.js
เท่านี้ก็จบวิธีการ run code นะครับ

ต่อไปเราจะมาเริ่มเขียน code กันนะครับ
โดยเราจะใช้ socket.io ซึ่งเป็น interface ของ nodejs ที่มีคนเขียนไว้ก่อนอยู่แล้วครับ
ถามว่าทำไมถึงใช้ตัวนี้ ก็ต้องตอบว่า ก่อนหน้านี้ผมได้เขียนเองสดๆ โดยที่ไม่ใช้ socket.io
ตอนเขียนบนเครื่องตัวเองก็ไม่มีปัญหาอะไรครับ แต่พออัพขึ้น server เจอปัญหา crossdomain ครับ แก้ยังไงก็แก้ไม่หาย(ไม่รุว่าผมแก้ไม่เป็นหรือยังไง) ไปหาวิธีแก้ในอากู๋ก็ยังไม่เจอวิธีแก้ที่ได้ผมแต่อย่างใด แล้วที่ socket.io มันไม่เจอปัญหา crossdomain เหมือนกันก็เพราะว่า มันส่งข้อมูลกันโดยใช้ javascript ไงครับ อ่ะเรามาต่อกันดีกว่า

วิธีลง socket.io
1. เปิด cmd
2. พิม npm install socket.io
เรียบร้อยครับ ลง socket.io เสร็จแล้วครับ (ง่ายดีแท้)

เรามาเริ่มจากการเขียนห้องแชทง่ายกันดีกว่าครับ

script ใน client.js
var socket = io.connect(‘localhost’);

socket.emit(‘chat’, {
message: //อะไรซักอย่าง (ข้อความ)
});

socket.on(‘messageRecieve’, function(data){
// เอา data ไปพิมพ์ออก output เองนะ
});

script ใน server.js
var io = require(‘socket.io’).listen(port); //ใส่เป็นตัวเลข port

io.sockets.on( ‘connection’, function( socket ){
socket.on(‘chat’, function(data){
io.sockets.boardcast(‘messageRecieve’, {
message: data.message
});
});
});

จบข่าว!!!