ให้เรตสมาชิก: 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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
โน๊ตช่วยจำของ M061
โดย Parichat จ 21 พฤษภาคม 2018 11:50 pm บอร์ด M061 - ปาริชาติ รัตโณภาส
1
1
จ 21 พฤษภาคม 2018 11:52 pm โดย Parichat
งานประจำวันที่ 21 พฤษภาคม 2561
โดย Parichat จ 21 พฤษภาคม 2018 6:53 pm บอร์ด M061 - ปาริชาติ รัตโณภาส
3
7
จ 21 พฤษภาคม 2018 11:57 pm โดย Parichat
Re - R ทำปิดบัญเขียนด้วย IDE Test เป็น webdriver
โดย rangsan จ 21 พฤษภาคม 2018 7:02 pm บอร์ด M058 - รังสรรค์ มุ่งกลาง
0
3
จ 21 พฤษภาคม 2018 7:02 pm โดย rangsan
แนะนำฟีดเจอการทำงานของระบบ OpenERP
โดย Rujikon จ 21 พฤษภาคม 2018 7:01 pm บอร์ด M060 - นายรุจิกร พงษ์พิละ
0
2
จ 21 พฤษภาคม 2018 7:01 pm โดย Rujikon
สอบถามสิทธิประกันสังคม บริการทางการแพทย์
โดย AePongsak จ 21 พฤษภาคม 2018 4:37 pm บอร์ด ถาม - ตอบ ธุรกิจ กฏหมาย ภาษี บัญชี
3
16
จ 21 พฤษภาคม 2018 6:14 pm โดย AePongsak
การติดตั้ง Selenium IDE บน FireFox เพือใช้ในการทำ Automate Test
โดย rangsan จ 21 พฤษภาคม 2018 4:27 pm บอร์ด Share Knowledge
0
7
จ 21 พฤษภาคม 2018 4:27 pm โดย rangsan
Q - ต้องการที่จะทำให้ Selenium นั้นคลิกปุ่มตามที่กำหนด
โดย rangsan จ 21 พฤษภาคม 2018 3:23 pm บอร์ด Selenium
3
9
จ 21 พฤษภาคม 2018 5:14 pm โดย rangsan
การสร้าง Field สำหรับ XML Form ในระบบ Joomla
โดย Parichat จ 21 พฤษภาคม 2018 2:52 pm บอร์ด Joomla Developing Knowledge
0
9
จ 21 พฤษภาคม 2018 2:52 pm โดย Parichat
B - MJUpgrade ค้างที่ขั้นตอน Upgrading
โดย tsukasaz จ 21 พฤษภาคม 2018 11:00 am บอร์ด Doy-shop ( 15 พ.ค. - 29 พ.ค. 61)
1
3
จ 21 พฤษภาคม 2018 5:59 pm โดย tsukasaz
B-ไม่สามารถส่งอีเมลล์หาลูกค้าใน Lead ได้
โดย watcharin จ 21 พฤษภาคม 2018 10:33 am บอร์ด M.D.Soft Co.,Ltd. - Tester
1
9
จ 21 พฤษภาคม 2018 10:43 am โดย mindphp
งานประจำวันที่ 21 พฤษภาคม 2561
โดย Rujikon จ 21 พฤษภาคม 2018 9:56 am บอร์ด M060 - นายรุจิกร พงษ์พิละ
2
10
จ 21 พฤษภาคม 2018 7:37 pm โดย Rujikon
งานประจำวันที่ 21 พฤษภาคม 2561
โดย rangsan จ 21 พฤษภาคม 2018 9:56 am บอร์ด M058 - รังสรรค์ มุ่งกลาง
1
5
จ 21 พฤษภาคม 2018 7:04 pm โดย rangsan
B - Write Checks error
โดย thatsawan อ 20 พฤษภาคม 2018 11:08 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
2
อ 20 พฤษภาคม 2018 11:08 pm โดย thatsawan
B - กรณีที่เปิด sup inv 2 ใบสถานะ open เเล้วเปิด Sup Payments inv 2 ใบ สถานะ open เเล้วcancel inv 1 ทำให้ Sup Paymenพัง
โดย thatsawan อ 20 พฤษภาคม 2018 10:57 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
3
อ 20 พฤษภาคม 2018 10:57 pm โดย thatsawan
B - error Supplier Payments
โดย thatsawan อ 20 พฤษภาคม 2018 10:29 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
2
อ 20 พฤษภาคม 2018 10:29 pm โดย thatsawan
งานประจำวัน 19 พฤษภาคม 2561
โดย patcha635 ส 19 พฤษภาคม 2018 7:26 pm บอร์ด M059 - พัชมณ สุวรรณ
0
3
ส 19 พฤษภาคม 2018 7:26 pm โดย patcha635
Re: R - รับค่าจากฟอร์ม รับ Selenium webdirve เพื่อ ทำ automates test ระบบ ERP
โดย rangsan ส 19 พฤษภาคม 2018 7:08 pm บอร์ด M058 - รังสรรค์ มุ่งกลาง
0
5
ส 19 พฤษภาคม 2018 7:08 pm โดย rangsan
ขอใบเสนอราคาของฮาจังนะ
โดย kanchanok ส 19 พฤษภาคม 2018 7:01 pm บอร์ด Mindphp Task (ทดลองงาน)
1
8
จ 21 พฤษภาคม 2018 3:31 pm โดย mindphp
Q-ปัญหาเพิ่มเติมจากการกด Confiem Order ใน Quotations
โดย Rujikon ส 19 พฤษภาคม 2018 6:58 pm บอร์ด บวรเวชสมุนไพรไทย จำกัด - Tester
0
1
ส 19 พฤษภาคม 2018 6:58 pm โดย Rujikon
B - เอกสารที่ปริ้นออกมาตัวหนังสือทับกัน
โดย kanchanok ส 19 พฤษภาคม 2018 6:32 pm บอร์ด M.D.Soft Co.,Ltd. - Tester
0
7
ส 19 พฤษภาคม 2018 6:32 pm โดย kanchanok