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

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
[Extension phpBB3.1.1] Japanese / 日本語 Extension ภาษาญี่ปุ่น
โดย จันนุสรณ์ ดีแก่ ศ 08 ก.พ. 2019 9:58 am บอร์ด phpBB 3.1 Extension Review
0
54
ศ 08 ก.พ. 2019 9:58 am โดย จันนุสรณ์ ดีแก่
งานประจำวันที่ 8 กุมภาพันธ์ 2562
โดย Four ศ 08 ก.พ. 2019 8:50 am บอร์ด M077 - อิษยา งามสอาด
1
11
ศ 08 ก.พ. 2019 4:54 pm โดย Four
อัพเดดความคืบหน้า / Progress - Diageo
โดย mindphp พฤ 07 ก.พ. 2019 11:51 pm บอร์ด Diageo - Web Ordering
1
13
ศ 08 ก.พ. 2019 1:45 pm โดย tsukasaz
ปู่ๆ มีไลน์ไหม
โดย จันนุสรณ์ ดีแก่ พฤ 07 ก.พ. 2019 5:27 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
61
พฤ 07 ก.พ. 2019 5:27 pm โดย จันนุสรณ์ ดีแก่
สร้างไฟล์ pdf ด้วย python
โดย ichimarusoichi พฤ 07 ก.พ. 2019 4:28 pm บอร์ด Programming - C/C++ & java & Python
0
79
พฤ 07 ก.พ. 2019 4:28 pm โดย ichimarusoichi
แปลงค่าฟุตเป็นเมตรด้วย Python tkinter
โดย ichimarusoichi พฤ 07 ก.พ. 2019 3:33 pm บอร์ด Programming - C/C++ & java & Python
0
62
พฤ 07 ก.พ. 2019 3:33 pm โดย ichimarusoichi
งานแสดงสินค้าอุตสาหกรรมเกษตรแปรรูปและอาหารจังหวัดน่าน ณ ถนนหน้าพิพิธภัณฑสถานแห่งชาติน่าน
โดย Boom Wichida พฤ 07 ก.พ. 2019 2:59 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
43
พฤ 07 ก.พ. 2019 2:59 pm โดย Boom Wichida
วิธีการใช้งานเว็บบอร์ดเบื้องต้น การเข้าสู่ระบบ และการออกจากระบบ สำหรับสมาชิก
โดย จันนุสรณ์ ดีแก่ พฤ 07 ก.พ. 2019 12:10 pm บอร์ด phpBB user Guide Knowledge
0
64
พฤ 07 ก.พ. 2019 12:10 pm โดย จันนุสรณ์ ดีแก่
[Extension phpBB3.1.1] proFormell Extension ไตล์โทนสีเทาขาว
โดย จันนุสรณ์ ดีแก่ พฤ 07 ก.พ. 2019 11:26 am บอร์ด phpBB 3.1 Extension Review
0
42
พฤ 07 ก.พ. 2019 11:26 am โดย จันนุสรณ์ ดีแก่
งานประจำวันที่ 7 กุมภาพันธ์ 2562
โดย Four พฤ 07 ก.พ. 2019 9:46 am บอร์ด M077 - อิษยา งามสอาด
1
13
พฤ 07 ก.พ. 2019 4:46 pm โดย Four
บันทึกประชุม
โดย Parichat พ 06 ก.พ. 2019 7:51 pm บอร์ด Diageo - Web Ordering
3
25
ศ 08 ก.พ. 2019 3:29 pm โดย tsukasaz
สรุปความต้องการ และ ข้อมูลสำหรับทำระบบ
โดย mindphp พ 06 ก.พ. 2019 7:42 pm บอร์ด Diageo - Web Ordering
1
11
ศ 08 ก.พ. 2019 8:20 pm โดย Parichat
บันทึกประชุม
โดย tsukasaz พ 06 ก.พ. 2019 7:39 pm บอร์ด MlineCRM Line + MD-CRM
1
9
พฤ 14 ก.พ. 2019 11:04 am โดย Parichat
这个(Pace)是什么?
โดย Parichat พ 06 ก.พ. 2019 7:25 pm บอร์ด Chinese Language - 简体中文
0
65
พ 06 ก.พ. 2019 7:25 pm โดย Parichat
pace 가 뭐죠?
โดย Parichat พ 06 ก.พ. 2019 7:25 pm บอร์ด korean Language - 한국어
0
52
พ 06 ก.พ. 2019 7:25 pm โดย Parichat
Q - สอบถามการ ผูกฟังก์ชัน ข้ามไพล์ ด้วยโมดูล Tkinter
โดย ธวัชชัย แสนหาญ พ 06 ก.พ. 2019 6:28 pm บอร์ด Programming - C/C++ & java & Python
3
79
ศ 08 ก.พ. 2019 11:24 am โดย thatsawan
minephp webboard 등록하는 방법
โดย wipaporn พ 06 ก.พ. 2019 6:12 pm บอร์ด MP10 - วิภาพร กะลาสี
0
8
พ 06 ก.พ. 2019 6:12 pm โดย wipaporn
Event phpbb ที่ใช้สำหรับ รับค่า หลังจากกด โพสต์กระทู้
โดย Ittichai_chupol พ 06 ก.พ. 2019 6:06 pm บอร์ด Programming - PHP
1
78
ส 09 ก.พ. 2019 1:14 pm โดย mindphp
minephp webboard 注册方法
โดย wipaporn พ 06 ก.พ. 2019 5:49 pm บอร์ด MP10 - วิภาพร กะลาสี
0
7
พ 06 ก.พ. 2019 5:49 pm โดย wipaporn
How to register minephp webboard
โดย wipaporn พ 06 ก.พ. 2019 5:30 pm บอร์ด MP10 - วิภาพร กะลาสี
0
7
พ 06 ก.พ. 2019 5:30 pm โดย wipaporn