ให้เรตสมาชิก: 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
งานประจำวันที่ 23 พฤษภาคม 2560
โดย pleng อ 23 พฤษภาคม 2017 9:28 am บอร์ด MT17 - ภนิตา
0
5
อ 23 พฤษภาคม 2017 9:28 am โดย pleng
งบการเงิน ในโปรแกรมบัญชี Express
โดย pleng จ 22 พฤษภาคม 2017 6:50 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
16
จ 22 พฤษภาคม 2017 6:50 pm โดย pleng
การปรับรูปแบบรายงานบัญชี งบการเงิน ในโปรแกรมบัญชี Express
โดย pleng จ 22 พฤษภาคม 2017 5:49 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
16
จ 22 พฤษภาคม 2017 5:49 pm โดย pleng
รายงานภาษีซื้อ ในโปรแกรมบัญชี Express
โดย pleng จ 22 พฤษภาคม 2017 4:13 pm บอร์ด Accounting software & ERP โปรแกรมบัญชี ระบบอีอาร์พี
0
33
จ 22 พฤษภาคม 2017 4:13 pm โดย pleng
งานประจำวันที่ 22 พฤษภาคม 2560
โดย pleng จ 22 พฤษภาคม 2017 2:30 pm บอร์ด MT17 - ภนิตา
1
16
จ 22 พฤษภาคม 2017 2:30 pm โดย pleng
รถไฟความเร็วสูง จุผู้โดยสานได้เท่าไหร่ครับ ?
โดย jataz2 จ 22 พฤษภาคม 2017 10:34 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
11
จ 22 พฤษภาคม 2017 10:34 am โดย jataz2
โหวต PHP Framework 2017 ในใจคุณกัน
โดย mindphp จ 22 พฤษภาคม 2017 1:18 am บอร์ด Programming - PHP
1
26
จ 22 พฤษภาคม 2017 1:18 am โดย tsukasaz
ติดตั้งเฟสบุ๊คไม่ได้
โดย บุคคลทั่วไป จ 22 พฤษภาคม 2017 12:23 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
7
จ 22 พฤษภาคม 2017 12:23 am โดย บุคคลทั่วไป
ระหว่าง FLEXIcontent กับ Page Builder CK
โดย toonytoony2004 อ 21 พฤษภาคม 2017 1:37 pm บอร์ด Joomla Development
0
21
อ 21 พฤษภาคม 2017 1:37 pm โดย toonytoony2004
Magento ใช้กับ Hosting ธรรมดาที่ไม่ใช่ VPS/Dedicated server ได้หรื
โดย Nammon Kaewchanet ส 20 พฤษภาคม 2017 8:41 pm บอร์ด ปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS CRM
1
19
ส 20 พฤษภาคม 2017 8:41 pm โดย mindphp
อยากได้ตัวยิงเน็ตแรงๆคับต้องทำไง
โดย ping010 ส 20 พฤษภาคม 2017 7:59 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
0
13
ส 20 พฤษภาคม 2017 7:59 am โดย ping010
กำลังงงครับใครก็ได้รีโมทมาดูที่ หรือ ทีมวิวที่ครับ ครับ
โดย เจ็ดศูนย์หนึ่ง ว.สอง ศ 19 พฤษภาคม 2017 5:59 pm บอร์ด Programming - PHP
2
14
ศ 19 พฤษภาคม 2017 5:59 pm โดย mindphp
มีท่านใดรับรับทำเอาโปรแกรมให้สามารถรันบน
โดย โจ้ พิพัฒน์ ศ 19 พฤษภาคม 2017 2:53 pm บอร์ด Web Hosting Review - Free Host Share Host VPS
0
23
ศ 19 พฤษภาคม 2017 2:53 pm โดย โจ้ พิพัฒน์
เพิ่ม Plugin ใน HikaShop
โดย Jum Jump ศ 19 พฤษภาคม 2017 2:10 pm บอร์ด Joomla Development
7
43
ศ 19 พฤษภาคม 2017 2:32 pm โดย tsukasaz
สอบถามการติดต่อฐานข้อมูลด้วย MySQL กับ Android Studio
โดย pnut ศ 19 พฤษภาคม 2017 5:48 am บอร์ด Mobile Programming - Android, iOS, Window Phone
0
16
ศ 19 พฤษภาคม 2017 5:48 am โดย pnut
อยากจะวาง ER ใน Navicat ทำยังไงค่ะ
โดย thatsawan พฤ 18 พฤษภาคม 2017 8:01 pm บอร์ด Programming - PHP
0
17
พฤ 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
13
พฤ 18 พฤษภาคม 2017 4:25 pm โดย Piyawut Jarujit
TOR หรือ Team of Reference (ทีม ออฟ เรฟเออะเร็นซ) คืออะไร
โดย dawthana พฤ 18 พฤษภาคม 2017 1:22 pm บอร์ด Share Knowledge
0
18
พฤ 18 พฤษภาคม 2017 1:22 pm โดย dawthana
สอบถามค่ะ ติดตั้ง OpenERP แล้วขึ้น Error เป็นเพราะอะไรคะ ต้องแก้ยังไง
โดย moomai พฤ 18 พฤษภาคม 2017 1:17 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
3
28
พฤ 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
21
พ 17 พฤษภาคม 2017 10:44 pm โดย mindphp