Kinh Nghiệm Sử Dụng Socket Cho Dự Án Auction.

  • Môi trường yêu cầu :
    • NodeJS và NPM: môi trường cài đặt và thực thi socket (Cài đặt).
    • Socket.io: Môi trường socket (Tìm hiểu thêm).
    • PM2: Chạy background môi trường socket trên server (Tìm hiểu thêm).
    • Supervisor : Môi trường thực hiện nhiệm vụ khởi động lại socket khi xảy ra vấn đề làm cho socket bị dừng (Tìm hiểu thêm)
  • Cấu hình socket.io:
    • Cấu hình sử dụng cho giao thức http:

 

    • Cấu hình sử dụng cho giao thức https:

 

  • Chú ý: Trong giao thức https. Khi cấu hình cần phải lưu ý đến biến

.

  • Trong đó:
    • require phải là https
    • key: là file config server key khi config server sử dụng giao thức https
    • cert: file config server crt khi config server.
  • Kết nối Redis và socket:
    • Yêu cầu: Cần install redis server. Install redis cho socket và ngôn ngữ sẽ sử dụng để kết nối với socket (laravel php)
    • Cấu hình trên laravel:

 

  • Trong đó:
    • LRedis:: connectition() là phương thức mở kết nối để Redis
    • publish : gồm bidding là tên kênh kết nối mà socket đang lắng nghe , $myJSON là dữ liệu cần truyền về client để hiển thị
    • disconnect() đóng kết nối với redis
    • Cấu hình socket:

 

  • Trong đó:
    • redisClient.subscribe () là phương thức đăng ký và lắng nghe kênh bidding đã đề cập trong phần cấu hình laravel.
    • redisClient.on(‘message’, …) là phương thức lắng nghe để lấy message từ laravel gửi về (là biến $myJSON trong cấu hình trên laravel). Từ phương thức này sẽ lấy dữ liệu cần thiết và emit về cho tất cả những kênh đang lắng nghe của socket client.
Bài viết liên quan