Node.js 27 – Cài đặt Socket.IO

0
655

Cài đặt Socket.IO

Trước khi cài đặt socket.IO bạn phải chắc chắn rằng thiết bị của mình đã cài đặt Node.js và NPM .

Để kiểm tra các bạn có thể chạy các lệnh sau

Bạn sẽ nhận được thông tin phiên bản node và npm đã cài đặt.

Tiếp theo các bạn hãy tạo ra cho mình một thư mục để lưu trữ các ví dụ của mình. Ở đây tôi sẽ sử dụng thư mục socket.io-test và đồng thời cũng tạo ra file package.json ở trong thư mục bằng lệnh.

Bây giờ chúng ta cần phải cài đặt Express và Socket.IO.

Để cài đặt chúng hãy nhập lệnh sau vào command của bạn tại thư mục gốc của dự án.

Ứng dụng Hello World

Tạo một tệp với tên app.js và đưa đoạn mã sau để thiết lập ứng dụng.

Tiếp theo, chúng ta tạo tệp  index.html với nội dung sau.

Để kiểm tra xem ứng dụng này có hoạt động hay không, các bạn vào command tại thư mục gốc của project và chạy lệnh. Sau đó vào http://localhost:8000 để kiểm tra.

Bây giờ tôi sẽ yêu cầu module Socket.IO và mỗi khi có người kết nối tới ứng dụng sẽ hiện thị “Người dùng đã kết nối tới ứng dụng” và “Người dùng ngắt kết nối” mỗi khi có người dùng đóng ứng ụng.

File app.js

require('socket.io')(server) tạo ra một cá thể socket.io gắn với máy chủ http. Trình xử lý sự kiện io.on xử lý kết nối (connection), ngắt kết nối (disconnection) v.v. Các sự kiện trong đó sử dụng đối tương socket.

Ở trên tôi đã thiết lập máy chủ để ghi nhật ký các thông báo khi người dùng kết nối tới ứng dụng, và khi người dùng rời khỏi ứng dụng.

Bây giờ chúng ta phải yêu cầu script ở phía máy khách và khởi tạo đối tượng socket ở đó, để các máy khách có thể thiết lập các kết nối khi được yêu cầu.

Tập tin được sử dụng bới máy chủ socket.io là ‘/socket.io/socket.io.js

Sau khi hoàn thành các yêu cầu trên tệp index.html sẽ có nội dung như sau.

Nếu bạn chạy ứng dụng và  truy cập localhost:3000 bạn sẽ nhận được thông báo “Hello Word”  trên trình duyệt.

Để kiểm tra nhật ký ở bảng điều khiển console các bạn sẽ nhận được các thông báo sau.

Nếu bạn làm mới trình duyệt và kiểm tra bảng điều khiển, các bạn sẽ nhận được thông báo như sau.

 

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây