ให้เรตสมาชิก: 4 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งาน
 

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
วิธีติดตั้ง Joomla 3.5
โดย moomai พ 22 ก.พ. 2017 6:18 pm บอร์ด Mindphp Videoman
0
1
พ 22 ก.พ. 2017 6:18 pm โดย moomai
วิธีเปิด โหมด deveoper ของ Odoo 10
โดย moomai พ 22 ก.พ. 2017 5:53 pm บอร์ด Mindphp Videoman
0
3
พ 22 ก.พ. 2017 5:53 pm โดย moomai
วิธีติดตั้ง Odoo 10
โดย moomai พ 22 ก.พ. 2017 5:38 pm บอร์ด Mindphp Videoman
0
6
พ 22 ก.พ. 2017 5:38 pm โดย moomai
ถามวิธีการแสดงข้อมูลออกจากฐานข้อมูล
โดย dawthana พ 22 ก.พ. 2017 10:14 am บอร์ด OpenERP
6
16
พ 22 ก.พ. 2017 10:14 am โดย chbbk
B- สร้าง Customer และเพิ่มสาขา => สามารถเพิ่มได้
โดย M029 อ 21 ก.พ. 2017 8:11 pm บอร์ด OpenERP Light Tester
1
3
อ 21 ก.พ. 2017 8:11 pm โดย M029
B-ไม่มีสิทธิ์สร้างสาขา ลองเพิ่มสาขาของบริษัท => ไม่มีเมนู Setting
โดย M029 อ 21 ก.พ. 2017 7:58 pm บอร์ด OpenERP Light Tester
1
4
อ 21 ก.พ. 2017 7:58 pm โดย M029
ทำความรู้จัก Pyramid Python Framework และวิธีติดตั้ง
โดย moomai อ 21 ก.พ. 2017 4:09 pm บอร์ด Mindphp Videoman
0
28
อ 21 ก.พ. 2017 4:09 pm โดย moomai
สอน Python (3) : ไวยากรณ์พื้นฐานของ Python
โดย moomai อ 21 ก.พ. 2017 3:52 pm บอร์ด Mindphp Videoman
0
15
อ 21 ก.พ. 2017 3:52 pm โดย moomai
สอน Python (2) : เครื่องมือสำหรับเขียน Python
โดย moomai อ 21 ก.พ. 2017 3:31 pm บอร์ด Mindphp Videoman
0
8
อ 21 ก.พ. 2017 3:31 pm โดย moomai
สอนการสร้าง Template Joomla
โดย thatsawan อ 21 ก.พ. 2017 2:42 pm บอร์ด Mindphp Videoman
0
21
อ 21 ก.พ. 2017 2:42 pm โดย thatsawan
สอน Python (1) : ทำความรู้จัก Python
โดย moomai อ 21 ก.พ. 2017 2:23 pm บอร์ด Mindphp Videoman
0
21
อ 21 ก.พ. 2017 2:23 pm โดย moomai
ปัญหา VMware host ที่เคย add ไว้ขึ้นข้อความ Inventory Unknown
โดย mindphp อ 21 ก.พ. 2017 5:49 am บอร์ด Linux - Web Server
1
28
อ 21 ก.พ. 2017 5:49 am โดย mindphp
วิธีการสร้างตารางในกรอบทำยังไงคะ?
โดย dawthana จ 20 ก.พ. 2017 7:04 pm บอร์ด OpenERP
0
5
จ 20 ก.พ. 2017 7:04 pm โดย dawthana
[Extension phpBB 3.1] phpBB3 SEO Sitemap
โดย AePongsak จ 20 ก.พ. 2017 6:02 pm บอร์ด phpBB 3.1 Extension Review
0
10
จ 20 ก.พ. 2017 6:02 pm โดย AePongsak
[Extension phpBB 3.1] SEO Sitemap
โดย AePongsak จ 20 ก.พ. 2017 5:55 pm บอร์ด phpBB 3.1 Extension Review
0
11
จ 20 ก.พ. 2017 5:55 pm โดย AePongsak
Exceptions (เอ็กเซ็ปชั่น) คืออะไร
โดย moomai จ 20 ก.พ. 2017 4:58 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
11
จ 20 ก.พ. 2017 4:58 pm โดย moomai
ทำความรู้จักกับ Evernote โปรแกรมสำหรับการจดบันทึก
โดย M032 จ 20 ก.พ. 2017 4:43 pm บอร์ด Weekly Knowledge
0
3
จ 20 ก.พ. 2017 4:43 pm โดย M032
แปลก! แต่จริง! งูเหลือมกลับชาติมาเกิดเป็นคน
โดย k004 ส 18 ก.พ. 2017 3:56 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
46
ส 18 ก.พ. 2017 3:56 am โดย k004
R - Error จะเข้า Config Accounts
โดย mindphp ส 18 ก.พ. 2017 2:19 am บอร์ด OpenERP Light Tester
7
27
ส 18 ก.พ. 2017 2:19 am โดย chbbk
B - Analytic Accounts ขึ้นซ้ำ
โดย mindphp ส 18 ก.พ. 2017 1:07 am บอร์ด OpenERP Light Tester
0
3
ส 18 ก.พ. 2017 1:07 am โดย mindphp