ให้เรตสมาชิก: 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
สอบถามการติดต่อฐานข้อมูลด้วย MySQL กับ Android Studio
โดย pnut ศ 19 พฤษภาคม 2017 5:48 am บอร์ด Mobile Programming - Android, iOS, Window Phone
0
71
ศ 19 พฤษภาคม 2017 5:48 am โดย pnut
อยากจะวาง ER ใน Navicat ทำยังไงค่ะ
โดย thatsawan พฤ 18 พฤษภาคม 2017 8:01 pm บอร์ด Programming - PHP
0
67
พฤ 18 พฤษภาคม 2017 8:01 pm โดย thatsawan
Android Studio ขึ้นError ว่า failed to instantiate one or more classes
โดย Piyawut Jarujit พฤ 18 พฤษภาคม 2017 4:25 pm บอร์ด Mobile Programming - Android, iOS, Window Phone
0
68
พฤ 18 พฤษภาคม 2017 4:25 pm โดย Piyawut Jarujit
TOR หรือ Team of Reference (ทีม ออฟ เรฟเออะเร็นซ) คืออะไร
โดย dawthana พฤ 18 พฤษภาคม 2017 1:22 pm บอร์ด Share Knowledge
0
71
พฤ 18 พฤษภาคม 2017 1:22 pm โดย dawthana
สอบถามค่ะ ติดตั้ง OpenERP แล้วขึ้น Error เป็นเพราะอะไรคะ ต้องแก้ยังไง
โดย moomai พฤ 18 พฤษภาคม 2017 1:17 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
3
85
พฤ 18 พฤษภาคม 2017 1:17 pm โดย mindphp
Joomla 3.7.1 มาแล้ว อัพเกรดกันด้วย ครับ fix bug SQL Injection ของ 3.7.0
โดย mindphp พ 17 พฤษภาคม 2017 10:44 pm บอร์ด PHP News
0
72
พ 17 พฤษภาคม 2017 10:44 pm โดย mindphp
สอบถามค่ะ อยากจะติดตั้ง OpenERP สามารถดาวน์โหลดได้จากที่ไหนบ้างคะ
โดย moomai พ 17 พฤษภาคม 2017 10:09 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
3
78
พ 17 พฤษภาคม 2017 10:09 pm โดย mindphp
เซ็นเซอร์ plc เครื่องควบคุมอุณหภูมิ อุตสาหกรรม
โดย pomgic พ 17 พฤษภาคม 2017 3:02 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
71
พ 17 พฤษภาคม 2017 3:02 pm โดย pomgic
เราสามารถ Custom หน้า Register เองได้ไหม
โดย mcmakdonal อ 16 พฤษภาคม 2017 6:35 pm บอร์ด Joomla Development
4
84
อ 16 พฤษภาคม 2017 8:43 pm โดย mindphp
ติดตั้ง phalcon Framework เจอ Eror php_phalcon.dll' - %1 is not a valid Win32 application
โดย mindphp อ 14 พฤษภาคม 2017 7:57 pm บอร์ด Linux - Web Server
1
79
อ 14 พฤษภาคม 2017 7:57 pm โดย mindphp
โปรแกรมป้องกัน ไม่ให้มัลแวร์ WannaCry ทำงาน กันไฟล์โดนล็อค
โดย mindphp ส 13 พฤษภาคม 2017 10:32 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
1201
ส 13 พฤษภาคม 2017 10:32 pm โดย mindphp
การค้นหาข้อความ
โดย บุคคลทั่วไป ส 13 พฤษภาคม 2017 8:29 pm บอร์ด Programming - PHP
1
74
ส 13 พฤษภาคม 2017 8:29 pm โดย บุคคลทั่วไป
กำลังจะมาแล้ว Joomla 3.7.1 เวอร์ชั่นล่าสุดของ ซีรี่ 3.7 อัพเดดเรื่องความปลอดภัย
โดย mindphp ส 13 พฤษภาคม 2017 12:31 pm บอร์ด PHP News
1
84
ส 13 พฤษภาคม 2017 12:31 pm โดย mindphp
สอบถามการออกรายงาน mpdf ใน php สอบถามเรื่องการออกรายงานของ mpdf ใน php
โดย Prnoom Reerak ศ 12 พฤษภาคม 2017 10:01 pm บอร์ด Programming - PHP
3
100
ศ 12 พฤษภาคม 2017 10:01 pm โดย mindphp
เข้าเฟสไม่ได้
โดย Peach Promtong ศ 12 พฤษภาคม 2017 10:47 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
2
96
ศ 12 พฤษภาคม 2017 10:47 am โดย Forestre
สอบถาม magento
โดย บุคคลทั่วไป พฤ 11 พฤษภาคม 2017 3:06 am บอร์ด Programming - PHP
1
106
พฤ 11 พฤษภาคม 2017 3:06 am โดย บุคคลทั่วไป
WordPress 4.7 ซึ่งเป็นเวอร์ชั่น ล่าสุดตอนนี้ มีช่องโหว่ ร้ายแรง ยังไม่มี ตัว fix
โดย mindphp พ 10 พฤษภาคม 2017 10:38 pm บอร์ด PHP News
0
74
พ 10 พฤษภาคม 2017 10:38 pm โดย mindphp
วิธีการแปลภาษาอังกฤษให้เป็นภาษาไทยใน openerp ด้วยโปรแกรม Poedit
โดย dawthana อ 09 พฤษภาคม 2017 2:07 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
114
อ 09 พฤษภาคม 2017 2:07 pm โดย dawthana
เจอปัญหาสร้าง subdomain ใน directadmin ไม่ได้ " Unable to create subdomain "
โดย mindphp อ 09 พฤษภาคม 2017 12:52 pm บอร์ด Linux - Web Server
1
80
อ 09 พฤษภาคม 2017 12:52 pm โดย mindphp
สอบถาม SQl อยากได้ id ล่าสุดของ Id ที่เรา where in
โดย thatsawan จ 08 พฤษภาคม 2017 1:34 pm บอร์ด SQL - Database
1
113
จ 08 พฤษภาคม 2017 1:34 pm โดย tsukasaz