ให้เรตสมาชิก: 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
สอบถามทำค้นหาด้วย angular เเล้วจะให้เเทนที่ช่องว่างด้วยจะทำยังไงค่ะ
โดย thatsawan อ 02 พฤษภาคม 2017 5:14 pm บอร์ด JavaScript & Jquery Ajax
1
72
อ 02 พฤษภาคม 2017 5:14 pm โดย thatsawan
odoo 10 แก้ปัญหา odoo.addons.base.ir.ir_qweb.assetsbundle ...Error bundle 'web.assets_frontend' containing:
โดย mindphp อ 02 พฤษภาคม 2017 3:46 pm บอร์ด Odoo
0
2
อ 02 พฤษภาคม 2017 3:46 pm โดย mindphp
อยากลบหน้า login เก่าออก ซึ่งมันติดหน้าหลักอยู่ต้องทำยังไงครับ
โดย บุคคลทั่วไป อ 02 พฤษภาคม 2017 2:11 pm บอร์ด Programming - PHP
2
129
อ 02 พฤษภาคม 2017 2:32 pm โดย korakot
อยากทราบคำสั่ง SQL WHERE ข้อมูลเฉพาะเดือนปัจจุบันทำยังไงค่ะ
โดย thatsawan จ 01 พฤษภาคม 2017 6:30 pm บอร์ด SQL - Database
1
98
จ 01 พฤษภาคม 2017 6:30 pm โดย thatsawan
ช่วยดูโค๊ดนี้จาก error Unknown column '....' in 'where clause'
โดย Tanapat Sangtong ส 29 เม.ย. 2017 2:35 pm บอร์ด Programming - PHP
2
294
จ 01 พฤษภาคม 2017 1:38 pm โดย tsukasaz
เสียงเกมไม่เข้า
โดย บุคคลทั่วไป จ 01 พฤษภาคม 2017 9:40 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
80
จ 01 พฤษภาคม 2017 9:40 am โดย บุคคลทั่วไป
อยากได้วิธี get attribute ของ Dropdrow
โดย thatsawan อ 30 เม.ย. 2017 4:17 pm บอร์ด JavaScript & Jquery Ajax
2
92
อ 30 เม.ย. 2017 4:17 pm โดย thatsawan
ลับซ่อมpcโน๊ตบุคลงวินโด้ล่าค่า300ทุกอาหาร
โดย รับซ่อมคอมฯ ทุกอาการ อ 30 เม.ย. 2017 11:55 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
71
อ 30 เม.ย. 2017 11:55 am โดย รับซ่อมคอมฯ ทุกอาการ
[phpBB Debug] PHP Notice: in file [ROOT]/vendor/lusitanian/oauth/src/OAuth/OAuth2/Service/Facebook.php on line 147: Unde
โดย mindphp อ 30 เม.ย. 2017 1:02 am บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
1
73
อ 30 เม.ย. 2017 1:02 am โดย thatsawan
server ไม่รองรับไฟล์รูปภาพที่เป็นภาษาไทย แก้ยังไงครับ
โดย tsukasaz ศ 28 เม.ย. 2017 6:18 pm บอร์ด Programming - PHP
0
215
ศ 28 เม.ย. 2017 6:18 pm โดย tsukasaz
ต้องการดึงจาก SQL มาแสดง Droplist แต่มันไม่แสดงครับ
โดย bondham ศ 28 เม.ย. 2017 5:04 pm บอร์ด Programming - PHP
3
213
ศ 28 เม.ย. 2017 5:04 pm โดย tsukasaz
อยากทราบวิธี เช็ควัน หมดอายุ ของ SSL ได้ยังไงครับ ?
โดย M029 ศ 28 เม.ย. 2017 3:31 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
151
ศ 28 เม.ย. 2017 3:31 pm โดย M029
สอบถามคะ ติดตั้ง Template ไม่ได้ขึ้น Error เป็นเพราะอะไรคะ
โดย moomai พฤ 27 เม.ย. 2017 7:52 pm บอร์ด Joomla Development
2
84
ศ 28 เม.ย. 2017 1:20 pm โดย tsukasaz
ถ้าจะออกแบบ db แบบระบบคล้ายๆmlm โครงสร้างทีไรบ้าง
โดย bondham อ 23 เม.ย. 2017 1:26 am บอร์ด SQL - Database
6
156
พฤ 27 เม.ย. 2017 7:26 pm โดย bondham
สอบถามค่ะ ในโปรแกรมที่เราสร้างมี errpr ขึ้นหมายความว่ายังไงคะ
โดย moomai พฤ 27 เม.ย. 2017 2:09 pm บอร์ด Programming - PHP
3
214
พฤ 27 เม.ย. 2017 2:09 pm โดย tsukasaz
ติดตั้งโปรแกรม xampp ที่เป็นไฟล์ .zip ต้องทำยังไงบ้างคะ
โดย moomai พฤ 27 เม.ย. 2017 1:56 am บอร์ด Joomla Development
3
112
พฤ 27 เม.ย. 2017 1:56 am โดย mindphp
ติดตั้งโปรแกรม xampp ที่เป็นไฟล์ .zip ต้องทำยังไงบ้างคะ
โดย moomai พฤ 27 เม.ย. 2017 1:55 am บอร์ด Joomla Development
2
93
พฤ 27 เม.ย. 2017 1:55 am โดย toonytoony2004
จะจัดตั้งบริษัทใหม่ มีค่าใช้จ่ายประมาณเท่าไหร่ครับ
โดย M029 พ 26 เม.ย. 2017 6:42 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
1
93
พ 26 เม.ย. 2017 6:42 pm โดย M029
ทำสะพานข้ามอ่าวไทย
โดย jataz2 พ 26 เม.ย. 2017 5:04 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
64
พ 26 เม.ย. 2017 5:04 pm โดย jataz2
ทำการติดตั้ง Joomla 1.5 แล้ว Error ต้องแก้ไขยังไงคะ
โดย moomai พ 26 เม.ย. 2017 4:51 pm บอร์ด Joomla Development
8
142
พ 26 เม.ย. 2017 4:51 pm โดย moomai