ให้เรตสมาชิก: 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
ขอวิธีคํานวณแคลอรี่ จากการวิ่งหน่อยค่ะ
โดย moomai พ 05 เม.ย. 2017 1:43 pm บอร์ด Programming - PHP
0
38
พ 05 เม.ย. 2017 1:43 pm โดย moomai
จะทำโปรแกรมแสดง ip ที่รับค่าจาก url ที่ส่งมาต้องตั้งเงื่อนไขยังไง
โดย moomai พ 05 เม.ย. 2017 10:34 am บอร์ด Programming - PHP
3
63
พ 05 เม.ย. 2017 10:34 am โดย chornma
facebook ประกาศเลือกใช้ Graph API เวอร์ชั่น 2.2
โดย mindphp พ 05 เม.ย. 2017 9:54 am บอร์ด PHP News
1
42
พ 05 เม.ย. 2017 9:54 am โดย mindphp
ได้ทำการทดสอบ code นี้โดยสามารถอัพโหลดภาพที่
โดย Jsk อ 04 เม.ย. 2017 10:17 pm บอร์ด Programming - PHP
3
50
อ 04 เม.ย. 2017 10:17 pm โดย mindphp
บัญชีแยกประเภท
โดย บุคคลทั่วไป อ 04 เม.ย. 2017 9:07 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
0
36
อ 04 เม.ย. 2017 9:07 pm โดย บุคคลทั่วไป
อัพโปรแกรมขึ้น server แล้วโปรแกรมใช้งานไม่ได้ ต้องแก้ไขยังไง
โดย moomai อ 04 เม.ย. 2017 2:59 pm บอร์ด Programming - PHP
0
72
อ 04 เม.ย. 2017 2:59 pm โดย moomai
วิธี ดันกระทู้ phpBB
โดย AePongsak อ 04 เม.ย. 2017 2:10 pm บอร์ด phpBB user Guide Knowledge
0
28
อ 04 เม.ย. 2017 2:10 pm โดย AePongsak
เข้าเฟสไม่ได้ ให้ยืนยันตัวตน
โดย บุคคลทั่วไป อ 04 เม.ย. 2017 11:39 am บอร์ด Programming - PHP
0
26
อ 04 เม.ย. 2017 11:39 am โดย บุคคลทั่วไป
Access Point (แอคเซสพอยต์) คืออะไร
โดย bom_002 อ 04 เม.ย. 2017 10:18 am บอร์ด Microsoft Office Knowledge & line & Etc
0
35
อ 04 เม.ย. 2017 10:18 am โดย bom_002
ไม่ได้ใส่รูปอยากให้โชว์เป็นข้อความว่าnull
โดย บุคคลทั่วไป จ 03 เม.ย. 2017 10:33 am บอร์ด Programming - PHP
1
29
จ 03 เม.ย. 2017 10:33 am โดย บุคคลทั่วไป
โปรแกรมจัดการฐานข้อมูล Navicat (นาวิแคท) กับการ Query (คิวรี่) ข้อมูล
โดย bom_002 อ 02 เม.ย. 2017 10:07 pm บอร์ด SQL Knowledge
0
53
อ 02 เม.ย. 2017 10:07 pm โดย bom_002
Air Card คืออะไร
โดย bom_002 ส 01 เม.ย. 2017 6:29 pm บอร์ด Microsoft Office Knowledge & line & Etc
1
55
ส 01 เม.ย. 2017 6:29 pm โดย somponr
ระบบสารสนเทศเพื่อการจัดการ MIS : Management Information System (เมเนทเม้นต์ อินฟอเมชัน ซิสเต็มส์)
โดย bom_002 ส 01 เม.ย. 2017 5:26 pm บอร์ด Microsoft Office Knowledge & line & Etc
1
51
ส 01 เม.ย. 2017 5:26 pm โดย somponr
Hardware (ฮาร์ดแวร์) คืออะไร
โดย bom_002 ส 01 เม.ย. 2017 5:25 pm บอร์ด Microsoft Office Knowledge & line & Etc
1
42
ส 01 เม.ย. 2017 5:25 pm โดย somponr
คีย์ลัดในการใช้งานโปรแกรม pycharm (ไพชาม)
โดย dawthana ศ 31 มี.ค. 2017 5:18 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
55
ศ 31 มี.ค. 2017 5:18 pm โดย dawthana
ผมใช้โปรแกรมบัญชี Formula Winning Multi-corp,Single Branch Standalone MSDE-Thai Databa
โดย schaiyuth ศ 31 มี.ค. 2017 4:00 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
2
60
ศ 31 มี.ค. 2017 4:00 pm โดย somponr55
เขียนข้อมูล database
โดย บุคคลทั่วไป พฤ 30 มี.ค. 2017 8:15 pm บอร์ด Programming - PHP
2
88
พฤ 30 มี.ค. 2017 8:15 pm โดย บุคคลทั่วไป
Dremweaver
โดย บุคคลทั่วไป พฤ 30 มี.ค. 2017 7:25 pm บอร์ด HTML CSS
2
50
พฤ 30 มี.ค. 2017 7:25 pm โดย บุคคลทั่วไป
ติดปัญหาจะ include file config.php phpbb มาใช้เเต่ติดที่ .htaccess
โดย thatsawan พฤ 30 มี.ค. 2017 5:25 pm บอร์ด Programming - PHP
5
95
พฤ 30 มี.ค. 2017 5:32 pm โดย chornma
Batch File (แบทไฟล์) คืออะไร
โดย bom_002 พฤ 30 มี.ค. 2017 1:50 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
55
พฤ 30 มี.ค. 2017 1:50 pm โดย bom_002