cuốn sách gpt4 ai đã làm

javascript - Strophe.js MUC : tạo một phòng và tham gia nhiều phòng

In lại Tác giả: Taklimakan Thời gian cập nhật: 2023-11-02 22:02:54 27 4
mua khóa gpt4 Nike

Tôi đang tạo một trang web trò chuyện và tôi đang sử dụng plugin Strophe.js và Strophe.muc.js. Tính năng trò chuyện một người hoạt động tốt, nhưng tôi cũng không muốn triển khai tính năng trò chuyện nhóm nơi người dùng có thể tạo phòng và mời người dùng khác vào phòng của họ. Sử dụng plugin muc, tôi có thể tạo phòng, nhưng vấn đề là trừ khi tôi không định cấu hình nó (tôi đoán vậy), những người dùng khác không thể tham gia và phòng không tồn tại. Tôi biết plugin muc có phương thức cấu hình, nhưng tôi không biết cách tạo đối tượng Form cấu hình, tôi không biết nó trông như thế nào. Đây sẽ là câu hỏi đầu tiên của tôi. Thứ hai: Tôi có thể tham gia nhiều phòng và nhận tin nhắn từ tất cả các phòng tôi đang ở không? Nếu không thì chẳng ích gì khi trả lời câu hỏi đầu tiên của tôi...

câu trả lời hay nhất

Sau khi thử giải pháp của Mark S, tôi phát hiện ra rằng mình phải gửi trạng thái trực tuyến trước khi có thể tạo phòng. Tôi đã liệt kê toàn bộ mã bên dưới, hy vọng điều này có ích.

// trước khi thực thi đoạn mã bên dưới, bạn cần kết nối với máy chủ IM (var conn là Strophe.Connection)
var userName = "steve",
tên máy chủ = "example.com",
userJid = tên người dùng + '@' + tên máy chủ,
roomJid = 'testRoom' + '@conference.' + tên máy chủ,
iq;

// gửi sự hiện diện đầu tiên để tạo phòng
var d = $pres({'from': userJid, 'to': roomJid + '/' + userName})
conn.send(d.tree());

iq = $iq({
tới: phòngJid,
gõ: 'đặt'
}).c("truy vấn", {
xmlns: Strophe.NS.MUC_OWNER
});
iq.c("x", {
xmlns: "jabber:x:data",
gõ: "gửi"
});

// gửi cấu hình bạn muốn
iq.c('field', { 'var': 'FORM_TYPE' }).c('value').t('http://jabber.org/protocol/muc#roomconfig').up().up ();
iq.c('field', { 'var': 'muc#roomconfig_publicroom' }).c('value').t('1').up().up();

conn.sendIQ(iq.tree(), function () { console.log('success'); }, function (err) { console.log('error', err); });

Tôi nhận thấy rằng nếu tôi không gửi bất kỳ cấu hình nào, máy chủ nhắn tin tức thời của openfire sẽ chỉ ghi phòng vào bộ đệm chứ không phải cơ sở dữ liệu, vì vậy phòng sẽ biến mất sau khi khởi động lại máy chủ nhắn tin tức thời.

Về javascript - Strophe.js MUC : tạo một phòng và tham gia nhiều phòng, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/20612063/

27 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress