ให้เรตสมาชิก: 4 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งาน
 
Websocket ใน HTML 5 เทคโนโลยี ติดต่อเร็ว กว่า Ajax ไม่ต้องรีเฟรชหน้า
Websocket ใน HTML 5 เทคโนโลยี ติดต่อเร็ว กว่า Ajax ไม่ต้องรีเฟรชหน้า

Websocket คือ ถ้าจะอธิบายให้สั้นๆ และได้ใจความ Websocket เป็นเทคโนโลยีเพื่อใช้ การติดต่อสือสารระหว่าง Web server กับ Client แบบ Real Time Client ที่เป็น html5 + Javascript สามารถรับข้อมูลทางผั่ง Server มาแสดงผลได้ ผ่าน Protocol TCP/IP โดยไม่ต้อง Refresh หน้า เช่นเดียวกับ Ajax แต่ Websocket นั้นมีข้อดีกว่า Ajax คือ Websocket ไม่ต้องส่ง Request ใหม่ เพื่อส่งคำรองขอไปยัง server และ รอรับ respond จากทางฝั่ง Server ทำให้ Websocket ประหยัดทั้งเวลา และปริมาณข้อมูลที่ส่งไปมาระหว่าง web server กับ Client โดยการทำงานของ Websocket มันจะรอรับ Message ทางฝั่ง web server อยู่ตลอดเวลา หลังจากที่ได้ส่งคำสั่ง ติดต่อ Websocket Server ไปแล้วในครั้งแรก และมันจะรอรับ Message จนกระทั้งจะสั่ง Close หรือหยุดการติดต่
ลองดูตัวอย่างโค้ด HTML + Websocket

<!DOCTYPE html>

<meta charset="utf-8" />

<title>WebSocket Test By Mindphp.com</title>

<script language="javascript" type="text/javascript">

  var wsUri = "ws://echo.websocket.org/";
  var output;

  function init()
  {
    output = document.getElementById("output");
    testWebSocket();
  }

  function testWebSocket()
  {
    websocket = new WebSocket(wsUri);
    websocket.onopen = function(evt) { onOpen(evt) };
    websocket.onclose = function(evt) { onClose(evt) };
    websocket.onmessage = function(evt) { onMessage(evt) };
    websocket.onerror = function(evt) { onError(evt) };
  }

  function onOpen(evt)
  {
    writeToScreen("CONNECTED");
    doSend("WebSocket rocks");
  }

  function onClose(evt)
  {
    writeToScreen("DISCONNECTED");
  }

  function onMessage(evt)
  {
      alert(evt);
    writeToScreen('<span style="color: blue;">RESPONSE: ' + evt.data+'</span>');
    websocket.close();
  }

  function onError(evt)
  {
    writeToScreen('<span style="color: red;">ERROR:</span> ' + evt.data);
  }

  function doSend(message)
  {
    writeToScreen("SENT: " + message); 
    websocket.send(message);
  }

  function writeToScreen(message)
  {
    var pre = document.createElement("p");
    pre.style.wordWrap = "break-word";
    pre.innerHTML = message;
    output.appendChild(pre);
  }

  window.addEventListener("load", init, false);

</script>

<h2>WebSocket Test</h2>
<input id="text" name="text" type="text" size="36">
<label>
<input type="submit" name="button" id="button" value=" Send " onClick=" doSend(document.getElementById('text').value);">
</label>
<div id="output"></div>

</html> 

เรียกน้ำย่อยวันนี้แค่นี้ก่อน วันหลังจะเอาความรู้เรื่อง เทคโนโลยี ตัวนี้มาลงอีกครับ พูดคุยกันได้ที่เว็บบอร์ด Pogramming - PHP

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
MOD_MTB_NEWS_RECENT
ติดตั้ง Joomla ไม่ได้ค่ะ
โดย meeieis พ 06 ก.ย. 2017 10:44 am บอร์ด Joomla Development
5
94
พ 06 ก.ย. 2017 10:44 am โดย Theman
ขอคำแนะนำเกี่ยวกับการสร้างที่อยู่ URL
โดย บุคคลทั่วไป พ 06 ก.ย. 2017 12:26 am บอร์ด Programming - PHP
0
76
พ 06 ก.ย. 2017 12:26 am โดย บุคคลทั่วไป
Joomla 3.8 RC1 มาแล้ว
โดย mindphp อ 05 ก.ย. 2017 11:52 pm บอร์ด PHP News
0
48
อ 05 ก.ย. 2017 11:52 pm โดย mindphp
hotmail โดนบล็อคเข้าไม่ได้ ลอง reset แล้ว สุดท้ายบอกให้สร้าง email ใหม่
โดย บุคคลทั่วไป อ 05 ก.ย. 2017 10:57 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
42
อ 05 ก.ย. 2017 10:57 pm โดย บุคคลทั่วไป
ไม่สามารถเชื่อมต่อฐานข้อมูลใน python ได้
โดย natnicha001 อ 05 ก.ย. 2017 5:34 pm บอร์ด Programming - C/C++ & java & Python
3
88
อ 05 ก.ย. 2017 5:34 pm โดย nuattawoot
อะเมริซีด อินเตอร์เนชัน แนล จำกัด - odoo 9 + HR + MA
โดย mindphp อ 05 ก.ย. 2017 11:45 am บอร์ด อะเมริซีด อินเตอร์เนชัน แนล จำกัด
20
166
อ 05 ก.ย. 2017 11:45 am โดย araxvaan
การลงสีด้วย โปรแกรม adobe flash (อะโดบี แฟลช) ด้วยเครื่องมือ Brush Tool (บรัช ทูล)
โดย natnicha001 อ 05 ก.ย. 2017 10:40 am บอร์ด Graphic design
0
54
อ 05 ก.ย. 2017 10:40 am โดย natnicha001
อยากทราบวิธีการติดตั้ง PyMySQL3 ในระบบปฏิบัติการ ubuntu
โดย natnicha001 จ 04 ก.ย. 2017 5:44 pm บอร์ด Programming - C/C++ & java & Python
1
85
จ 04 ก.ย. 2017 5:44 pm โดย natnicha001
สอนการวาดรูปใน Adobe flash CS6 อย่างง่าย
โดย natnicha001 จ 04 ก.ย. 2017 2:37 pm บอร์ด Graphic design
0
75
จ 04 ก.ย. 2017 2:37 pm โดย natnicha001
สอบถามโปรแกรมจำรองมือ บน ubuntu ครับ
โดย AePongsak จ 04 ก.ย. 2017 12:21 pm บอร์ด Mobile Programming - Android, iOS, Window Phone
1
93
จ 04 ก.ย. 2017 12:21 pm โดย nuattawoot
การเคลื่อนไหวแบบ frame by frame (เฟรม บาย เฟรม)
โดย natnicha001 จ 04 ก.ย. 2017 11:36 am บอร์ด Graphic design
0
67
จ 04 ก.ย. 2017 11:36 am โดย natnicha001
แนะนำโปรแกรม Adobe flash (อะโดบี แฟลช)
โดย natnicha001 จ 04 ก.ย. 2017 10:53 am บอร์ด Graphic design
0
66
จ 04 ก.ย. 2017 10:53 am โดย natnicha001
ขอการบ้านหน่อยครับ
โดย fsrwre จ 04 ก.ย. 2017 12:21 am บอร์ด Programming - PHP
1
120
จ 04 ก.ย. 2017 12:21 am โดย mindphp
สมมุติว่าเราต้องการจะจัดสเปกเครื่อง Server ให้เพียงพอกับปริมาณที่ใช้ จะมีเครื่องมือวัดมั้ยค่ะ
โดย thatsawan อ 03 ก.ย. 2017 11:49 am บอร์ด Programming - C/C++ & java & Python
1
79
อ 03 ก.ย. 2017 11:49 am โดย mindphp
ทำความรู้จักกับ ไวรัส worm (เวิร์ม) ให้มากขึ้น
โดย natnicha001 ส 02 ก.ย. 2017 3:47 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
77
ส 02 ก.ย. 2017 3:47 pm โดย natnicha001
แนะนำ แอพพลิเคชั่น Wish (วิช) สนุกกับการช้อปปิ้ง
โดย natnicha001 ส 02 ก.ย. 2017 2:33 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
94
ส 02 ก.ย. 2017 2:33 pm โดย natnicha001
แนะนำแอพพลิเคชั่น Shopee ซื้อขายออนไลน์
โดย natnicha001 ส 02 ก.ย. 2017 1:27 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
69
ส 02 ก.ย. 2017 1:27 pm โดย natnicha001
แนะนำแอพพลิเคชั่น JOOX Music (จู๊กซ์ มิวสิค)
โดย natnicha001 ส 02 ก.ย. 2017 11:23 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
71
ส 02 ก.ย. 2017 11:23 am โดย natnicha001
วิธีการถอน และการติดตั้ง Firefox (ไฟร์ฟอกซ์) บนระบบปฏิบัติการ Ubuntu (อูบุนตู)
โดย natnicha001 ศ 01 ก.ย. 2017 3:08 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
74
ศ 01 ก.ย. 2017 3:08 pm โดย natnicha001
แนะนำระบบปฏิบัติการ android 4.4 KitKat (แอนดรอย 4.4 คิทแคท)
โดย natnicha001 ศ 01 ก.ย. 2017 2:12 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
72
ศ 01 ก.ย. 2017 2:12 pm โดย natnicha001