Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[Rikkeisoft] Tìm hiểu về Websocket và Node.js

[Rikkeisoft] Tìm hiểu về Websocket và Node.js

20140911 - Rikkeisoft Seminar - DungTM

Avatar for Huy Nguyen Quang

Huy Nguyen Quang

September 12, 2014

More Decks by Huy Nguyen Quang

Other Decks in Programming

Transcript

  1.  Websocket  Node.js  Websocket với node.js và socket.io

    Kết Luận NỘI DUNG Tìm hiểu về Websocket và Node.js 2
  2. Tìm hiểu về Websocket và Node.js 3 WebSoket là công

    nghệ hỗ trợ giao tiếp hai chiều giữa client và server bằng cách sử dụng một TCP socket để tạo một kết nối hiệu quả và ít tốn kém.
  3. POST /login.php HTTP/1.1 Host: example.com User-Agent: Mozilla/4.0 (compatible; MSIE 7.0;

    Windows NT 5.1) Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: en-us,en;q=0.5 Accept-Encoding: gzip,deflate Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive: 300 Connection: keep-alive Referer: http://example.com/test.php Content-Type: application/x-www-form-urlencoded Content-Length: 43 first_name=John&last_name=Doe&action=Submit header request/response của HTTP Tìm hiểu về Websocket và Node.js 4
  4. - HTTP: 871 x 10,000 = 8,710,000 bytes = 69,680,000

    bits per second (66 Mbps) - WebSocket: 2 x 10,000 = 20,000 bytes = 160,000 bits per second (0.153 Kbps) So Sánh HTTP Và WebSocket SMM.M5_Thu hút và giữ chân nhân viên 6
  5. sử dụng 3 events sau onopen: Khi websocket đã được

    mở onmessage: Khi nhận được một message onclose: Khi websocket được đóng lại Tìm hiểu về Websocket và Node.js 8
  6. WebSockets cung cấp khả năng giao tiếp hai chiều mạnh

    mẽ API cũng rất dễ sử dụng trực tiếp các tin báo nhận và các dạng truyền tải tùy chọn khác nhau (Ajax long- polling và jsonp polling). Ưu điểm Tìm hiểu về Websocket và Node.js 9
  7. Nó là một đặc tả mới của HTML5, nên nó

    vẫn chưa được tất cả các trình duyệt hỗ trợ. không dễ sử dụng các dịch vụ có phạm vi-yêu cầu như SessionInViewFilter của Hibernate. Hibernate là một framework kinh điển cung cấp một bộ lọc xung quanh một HTTP request. Khi bắt đầu một request, nó sẽ thiết lập một contest (chứa các transaction và liên kết JDBC) được ràng buộc với luồng request. Khi request đó kết thúc, bộ lọc hủy bỏ contest này. Nhược Điểm Tìm hiểu về Websocket và Node.js 10
  8. Node.js là một hệ thống phần được thiết kế để

    viết các ứng dụng internet có khả năng mở rộng, đặc biệt là máy chủ web. Node.js được tạo bởi Ryan Dahl từ năm 2009, và phát triển dưới sự bảo trợ của Joyent. Node.js được InfoWorld bình chọn là Công nghệ của năm ,năm 2012. Node.js là gì ? Tìm hiểu về Websocket và Node.js 11
  9. Thứ nhất: javascript là ngôn ngữ lập trình hướng sự

    kiện, mà trong lập trình thời gian thực, cách tiếp cận bằng lập trình sự kiện là cách tiếp cận khôn ngoan nhất. Thứ hai: Node.js chạy non-blocking việc hệ thống không phải tạm ngừng để xử lý xong một request sẽ giúp cho server trả lời client gần như ngay tức thì. Thứ ba: lập trình socket yêu cầu bạn phải xây dựng được mô hình lắng nghe – trả lời từ cả 2 bên. Nói khác đi, vai trò của client và server phải tương đương nhau, mà client thì chạy bằng javascript, nên nếu server cũng chạy bằng javascript nữa, thì việc lập trình sẽ dễ dàng và thân thiện hơn. Dùng Node.js để lập trình websocket? Tìm hiểu về Websocket và Node.js 12
  10. Socket.IO là một thư viện javascript có mục đích tạo

    ra các ứng dụng realtime trên trình duyệt cũng như thiết bị di động. Download và cài đặt tại http://nodejs.org/#download Websocket với node.js và socket.io Tìm hiểu về Websocket và Node.js 13
  11. - Server: tạo một đối tượng socket bằng phương thức

    listen(port). Phương thức này chờ đợi một yêu cầu kết nối từ client. - Client: Kết nối đến server bằng phương thức connect(url,{port: server_port}). - Socket.IO cung cấp 3 event chính là connect, message và disconnect. Chúng được kích hoạt khi client/server: + connect: tạo kết nối + message: nhận được thông điệp + disconnect: ngắt kết nối Một số điều cơ bản cần biết Tìm hiểu về Websocket và Node.js 14
  12. WebSocket: http://en.wikipedia.org/wiki/WebSocke t HTML5 Web Socket in Essence: http://www.codeproject.com/Articles/209 041/HTML5-Web-Socket-in-Essence

    The WebSocket protocol: http://tools.ietf.org/html/rfc6455 The WebSocket API: http://www.w3.org/TR/websockets/ Socket IO: http://socket.io/#how-to-use Node.js Documentation: http://nodejs.org/api/ Tài liệu thao khảo Tìm hiểu về Websocket và Node.js 15