真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

小程序輕松實(shí)現(xiàn)IM即時(shí)通訊多人聊天室

IM多人聊天室功能簡(jiǎn)介

ZIM SDK 提供多人房間聊天功能,支持用戶向房間內(nèi)發(fā)送文本消息或自定義消息,實(shí)現(xiàn)了多人在線交流、同步分享。

創(chuàng)新互聯(lián)是專業(yè)的安仁網(wǎng)站建設(shè)公司,安仁接單;提供成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行安仁網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

多人房間聊天功能可應(yīng)用于小班課或者會(huì)議室等場(chǎng)景,房間成員數(shù)量上限請(qǐng)參考 計(jì)費(fèi)說明。

IM房間管理功能的前提條件

在實(shí)現(xiàn)“房間管理”功能之前,請(qǐng)確保:

  • 已在 ZEGO 控制臺(tái) 創(chuàng)建項(xiàng)目,獲取到了接入 ZIM SDK 服務(wù)所需的 AppID、AppSign。ZIM 服務(wù)權(quán)限不是默認(rèn)開啟的,使用前,請(qǐng)先在 ZEGO 控制臺(tái) 自助開通 ZIM 服務(wù)(詳情請(qǐng)參考 項(xiàng)目管理 - 即時(shí)通訊),若無法開通 ZIM 服務(wù),請(qǐng)聯(lián)系 ZEGO 技術(shù)支持開通。
  • 已集成 ZIM SDK,詳情請(qǐng)參考 快速開始 - 實(shí)現(xiàn)基本收發(fā)消息 的 “2 集成 SDK”。

實(shí)現(xiàn)IM多人聊天流程

用戶可以通過以下兩種方式,創(chuàng)建房間并進(jìn)入房間。

  • 方式一:創(chuàng)建房間、加入房間:用戶 A 調(diào)用 createRoom 接口,傳入 ZIMRoomInfo 信息,即可創(chuàng)建并加入房間。其他用戶調(diào)用 joinRoom 接口,傳入由 A 創(chuàng)建的房間 roomID,即可加入房間。
  • 方式二:進(jìn)入房間:用戶 X 調(diào)用 enterRoom 接口,傳入 ZIMRoomInfo 信息,如果 roomID 不存在,會(huì)自動(dòng)創(chuàng)建一個(gè)房間然后進(jìn)入。其他用戶需要調(diào)用 enterRoom 接口,傳入由 X 創(chuàng)建的房間 roomID,進(jìn)入房間。

房間內(nèi)的用戶,可以通過 sendRoomMessage 接口,向房間內(nèi)發(fā)送消息,詳情請(qǐng)參考 收發(fā)房間消息。

如果 roomID 已存在:

  • 調(diào)用 createRoom 接口,會(huì)返回相關(guān)錯(cuò)誤碼,詳情請(qǐng)參考 常見錯(cuò)誤碼。
  • 調(diào)用 enterRoom 接口,會(huì)直接進(jìn)入此房間內(nèi)。

如果 roomID 不存在:

  • 調(diào)用 createRoom 接口,可以直接創(chuàng)建、并加入到此房間內(nèi)。
  • 調(diào)用 enterRoom 接口,會(huì)直接創(chuàng)建一個(gè)房間、并進(jìn)入到此房間內(nèi)。

創(chuàng)建即時(shí)通訊多人聊天房間、加入聊天房間

以下流程中,我們以客戶端 A 創(chuàng)建并加入房間,客戶端 B 和其他客戶端加入房間為例。

1. 創(chuàng)建多人聊天房間

客戶端 A 登錄后,創(chuàng)建一個(gè)房間,可以調(diào)用 createRoom 接口,傳入 ZIMRoomInfo 信息,即可創(chuàng)建并加入房間。同時(shí)可以通過錯(cuò)誤碼 ZIMError 的參數(shù)值,判斷是否創(chuàng)建成功。相關(guān)錯(cuò)誤碼請(qǐng)查看 常見錯(cuò)誤碼。

  • “roomID”、“roomName” 支持開發(fā)者自定義規(guī)則生成。建議開發(fā)者將 “roomID” 設(shè)置為一個(gè)有意義的值,可將其與自己的業(yè)務(wù)賬號(hào)系統(tǒng)進(jìn)行關(guān)聯(lián)。
  • 調(diào)用 createRoom 接口創(chuàng)建房間后,會(huì)直接加入房間,無需再調(diào)用 joinRoom 接口加入房間。
var roomInfo = { roomID: '', roomName: '' };
zim.createRoom(roomInfo)
    .then(function ({ roomInfo }) {
        // 操作成功
    })
    .catch(function (err) {
        // 操作失敗
    });

2. 加入IM多人聊天房間

客戶端 B 和其他客戶端先后加入房間,可以調(diào)用 joinRoom 接口,傳入由 A 創(chuàng)建的房間 roomID,即可加入房間。同時(shí)可以通過錯(cuò)誤碼 ZIMError 的參數(shù)值,判斷是否創(chuàng)建成功。相關(guān)錯(cuò)誤碼請(qǐng)查看 常見錯(cuò)誤碼。

var roomID = '';
zim.joinRoom(roomID)
    .then(function ({ roomInfo }) {
        // 操作成功
    })
    .catch(function (err) {
        // 操作失敗
    });

3. IM聊天房間成員變動(dòng)通知

當(dāng)房間有其他成員加入時(shí),將通過 on 的回調(diào)接口 roomMemberJoined,向其他已在成員發(fā)送消息通知。

例如,當(dāng)客戶端 B 加入由 A 創(chuàng)建的房間時(shí),A 將收到房間內(nèi)成員變動(dòng)的通知。

// 加入房間通知,通過該通知收到加入房間的用戶信息
zim.on('roomMemberJoined', function (zim, { roomID, memberList }) {
    console.log(roomID, memberList);
});

進(jìn)入多人聊天房間

以下流程中,我們以客戶端 X 創(chuàng)建并進(jìn)入房間,客戶端 Y 和其他客戶端直接進(jìn)入房間為例。

  1. 客戶端 X 登錄后,調(diào)用 enterRoom 接口,傳入 ZIMRoomInfo 信息,進(jìn)入房間;如果傳入的 roomID 不存在,將會(huì)自動(dòng)創(chuàng)建一個(gè)房間并進(jìn)入該房間。
  2. 客戶端 Y 及其他用戶登錄后,調(diào)用 enterRoom 接口,傳入由 X 創(chuàng)建的房間 roomID,直接進(jìn)入房間。
  3. 房間內(nèi)的用戶,同樣可以使用 on 的回調(diào)接口 roomMemberJoined 方法,實(shí)現(xiàn)對(duì)房間內(nèi)成員加入的監(jiān)聽。
var roomInfo = { roomID: '', roomName: '' };
zim.enterRoom(roomInfo)
    .then(function ({ roomInfo }) {
        // 操作成功
    })
    .catch(function (err) {
        // 操作失敗
    });

// 加入房間通知,通過該通知收到加入房間的用戶信息
zim.on('roomMemberJoined', function (zim, { roomID, memberList }) {
    console.log(roomID, memberList);
});

離開IM聊天房間

客戶端 B 如果想要離開房間,可以調(diào)用 leaveRoom 接口,傳入房間的 roomID,即可退出此房間;房間內(nèi)的其他用戶可以通過 on 的回調(diào)接口 roomMemberLeft,收到成員變動(dòng)通知。

離開房間后,將不能收到房間內(nèi)的消息。

var roomID = '';
zim.leaveRoom(roomID)
    .then(function ({ roomID }) {
        // 操作成功
    })
    .catch(function (err) {
        // 操作失敗
    });
// 離開房間通知,通過該通知收到離開房間的用戶信息
zim.on('roomMemberLeft', function (zim, { roomID, memberList }) {
    console.log(roomID, memberList);
});

當(dāng)所有成員離開房間后,房間將自動(dòng)銷毀,同時(shí)支持設(shè)置房間延遲銷毀。


當(dāng)前名稱:小程序輕松實(shí)現(xiàn)IM即時(shí)通訊多人聊天室
轉(zhuǎn)載源于:http://weahome.cn/article/dsojgie.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部