Có hai (có thể ba) tổ chức XMPP có thông tin rằng:
- thành phần XMPP MUC cung cấp các phòng MUC
- người sử dụng XMPP khách hàng (hoặc tốt hơn các thư viện XMPP được sử dụng bởi người dùng)
- lẽ server XMPP (s) (nhưng chúng ta hãy bỏ qua điều đó)
Tại thời điểm viết bài này, không có cách nào tiêu chuẩn (về XEPP XEP) để truy vấn thông tin đó. Như Joe Hildebrand đã chỉ ra, điều này sẽ dẫn đến rò rỉ thông tin mà không phải là những gì chúng ta muốn trong hầu hết các trường hợp.
Nhưng bạn có thể mở rộng thành phần MUC để cung cấp thông tin đó (nhớ XMPP dễ dàng mở rộng) hoặc thư viện ứng dụng XMPP. Cách tiếp cận thông thường sẽ là thông qua truy vấn iq. Ví dụ:
<iq type='get' from='[email protected]/balcony' to='capulet.lit' id='q1'>
<query xmlns='http://jabber.org/protocol/muc#joinedrooms'/>
</iq>
Các đối tượng hỗ trợ truy vấn đó sau đó sẽ báo cáo lại phòng đã gia nhập của thực thể được yêu cầu. Ngoài ra, họ có thể thông báo tính năng http://jabber.org/protocol/muc#joinedrooms
trong thông tin khám phá dịch vụ của họ.
Lưu ý rằng đây là tiện ích mở rộng giao thức giả tưởng có nghĩa là ví dụ. Tôi chưa bao giờ thấy nó trong thực tế sử dụng
Nếu thành phần MUC cung cấp tính năng này thì khách hàng không thể kiểm soát được thông tin này nếu thông tin này được hiển thị. Nhưng nếu khách hàng cung cấp tính năng này thì dĩ nhiên anh ta có thể kiểm soát ai có thể lấy thông tin này. Bạn có thể quyết định cách tiếp cận tốt hơn trong trường hợp của bạn là gì.
Bạn có muốn danh sách phòng bạn đang ở hoặc người dùng khác không? Không có câu trả lời tốt cho một trong hai, nhưng đầu tiên là về mặt lý thuyết có thể, và thứ hai là một sự vi phạm quyền riêng tư. –
tx, Joe. Tôi thực sự muốn có được danh sách các phòng chat cho người dùng ngẫu nhiên (tôi muốn trình bày một danh sách các phòng mà bạn bè facebook của mình đã tham gia vào lúc này). –
Tôi cần đầu tiên, (Để tìm các cuộc trò chuyện, người dùng hiện tại đang ở). Làm thế nào sẽ đi về việc này? Cảm ơn. –