Trong MQTT, chính máy khách là người khởi tạo kết nối với thông báo CONNECT.
Trường đầu tiên của gói là clientId
:
Mã định danh máy khách (ClientId ngắn) là mã định danh của từng máy khách MQTT kết nối với nhà môi giới MQTT. Như định danh từ đã gợi ý, nó phải là duy nhất cho mỗi nhà môi giới. Người môi giới sử dụng nó để xác định khách hàng và trạng thái hiện tại của khách hàng. (Hình ảnh và trích dẫn được lấy từ đây .)
Bây giờ hãy nói rằng tôi có hai khách hàng, khách hàng X và Y trong tình huống sau.
- Môi giới ra mắt, chưa có khách hàng.
- X thành công kết nối với người môi giới với
client-1
id, tên người dùng làX
. - Bây giờ, Y cố gắng kết nối bằng
client-1
id, tên người dùng làY
.
Chuyện gì sẽ xảy ra?
- Dựa trên clientId, nhà môi giới sẽ nghĩ rằng X thực hiện một nỗ lực kết nối lặp đi lặp lại , đó là hành vi bất thường .
- Không có gì bất thường sẽ xảy ra. Y kết nối thành công vì nó sử dụng tên người dùng khác .
- Không có gì bất thường sẽ xảy ra. Nhà môi giới sẽ từ chối nỗ lực kết nối Y vì clientId đã cho đã được sử dụng.