ให้เรตสมาชิก: 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
ติดปัญหาจะ include file config.php phpbb มาใช้เเต่ติดที่ .htaccess
โดย thatsawan พฤ 30 มี.ค. 2017 5:25 pm บอร์ด Programming - PHP
5
121
พฤ 30 มี.ค. 2017 5:32 pm โดย chornma
Batch File (แบทไฟล์) คืออะไร
โดย bom_002 พฤ 30 มี.ค. 2017 1:50 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
86
พฤ 30 มี.ค. 2017 1:50 pm โดย bom_002
แบบไหนที่คุณชอบ ทำงาน 4 วันหยุด 3 วัน vs ทำงาน 5 หยุด 2
โดย jataz2 พ 29 มี.ค. 2017 3:48 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
94
พ 29 มี.ค. 2017 3:48 pm โดย jataz2
แท็กซี่ไทยปู้นๆ vs GrabTaxi Uber
โดย jataz2 พ 29 มี.ค. 2017 3:29 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
76
พ 29 มี.ค. 2017 3:29 pm โดย jataz2
การสร้างหมวดหมู่ไว้เก็บเนื้อหาเว็บไซต์ใน joomla ต้องเริ่มจากตรงไหนคะ
โดย moomai อ 28 มี.ค. 2017 11:22 pm บอร์ด Joomla Development
2
77
อ 28 มี.ค. 2017 11:22 pm โดย gon1234
ขอวิธีทำฟอร์มสมัครสมาชิกใน joomla หน่อยค่ะ
โดย moomai อ 28 มี.ค. 2017 11:19 pm บอร์ด Joomla Development
1
58
อ 28 มี.ค. 2017 11:19 pm โดย thatsawan
รบกวนช่วยหน่อยค่ะ อัพโปรแกรมขึ้น server แล้วตารางแสดงข้อมูลไม่ขึ้น
โดย moomai อ 28 มี.ค. 2017 6:56 pm บอร์ด Programming - PHP
0
85
อ 28 มี.ค. 2017 6:56 pm โดย moomai
วิธีปรับขนาดของสินค้า Alternative Product ใน odoo ecommerce แก้ยังไง
โดย M032 อ 28 มี.ค. 2017 5:41 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
52
อ 28 มี.ค. 2017 5:41 pm โดย M032
อยากทราบวิธีแก้ไข Footter ใน odoo odoo ecommerce ต้องแก้ไขยังไงค่ะ
โดย M032 อ 28 มี.ค. 2017 5:38 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
59
อ 28 มี.ค. 2017 5:38 pm โดย M032
ทำ short link มีผลต่อ SEO มั้ยค่ะ
โดย thatsawan อ 28 มี.ค. 2017 5:23 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
3
98
อ 28 มี.ค. 2017 5:23 pm โดย chornma
ต้องการส่งชื่อรูปไปยังอีก url หนึ่ง และนำภาพจาก url มาแสดง
โดย bom_002 อ 28 มี.ค. 2017 2:58 pm บอร์ด Programming - C/C++ & java & Python
3
89
อ 28 มี.ค. 2017 2:58 pm โดย bom_002
ติดตั้ง Google Chrome(กรูเกิลโครม) บน ubuntu 16.04
โดย bom_002 จ 27 มี.ค. 2017 5:11 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
53
จ 27 มี.ค. 2017 5:11 pm โดย bom_002
การติดตั้ง Skype(สไกป์) บนระบบปฏิบัติการ ubuntu 16.04
โดย bom_002 จ 27 มี.ค. 2017 4:01 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
50
จ 27 มี.ค. 2017 4:01 pm โดย bom_002
ต้องการเช็คค่าว่างของ form ก่อนที่จะใช้ ajax ในก
โดย gainkullan จ 27 มี.ค. 2017 2:08 pm บอร์ด JavaScript & Jquery Ajax
0
60
จ 27 มี.ค. 2017 2:08 pm โดย gainkullan
GRUB (Restoring GRUB) คืออะไร
โดย bom_002 จ 27 มี.ค. 2017 12:32 pm บอร์ด Linux - Web Server
0
59
จ 27 มี.ค. 2017 12:32 pm โดย bom_002
เมื่อลงโปรแกรม ubuntu 16.04 ใกล้เสร็จแล้ว แต่เกิด error ขึ้นครับ
โดย bom_002 ส 25 มี.ค. 2017 5:13 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
58
ส 25 มี.ค. 2017 5:13 pm โดย mindphp
วิธีการสร้าง USB boot(ยูเอสบี บูท) บนระบบปฏิบัติการ Ubuntu(ยูบันตู)
โดย bom_002 ส 25 มี.ค. 2017 11:50 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
61
ส 25 มี.ค. 2017 11:50 am โดย bom_002
วิธีการ format (ฟอแมต) และลบ partition (พาสดิชัน) ของ USB disk (ยูเอสบี ดิส) ด้วย command line (คอมมาน ไล)
โดย bom_002 ส 25 มี.ค. 2017 11:13 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
62
ส 25 มี.ค. 2017 11:13 am โดย bom_002
ต้องการจัดทำระบบ CRM ค่ะต้องทำยังไงบ้างคะ อย
โดย Sawika Maekai ส 25 มี.ค. 2017 4:13 am บอร์ด Programming - PHP
1
84
ส 25 มี.ค. 2017 4:13 am โดย mindphp
อยากสอบถามเรื่องการทำโปรแกรม CRM ค่ะ
โดย Sawika Maekai ส 25 มี.ค. 2017 4:12 am บอร์ด Programming - PHP
0
47
ส 25 มี.ค. 2017 4:12 am โดย Sawika Maekai