- 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.