![PyPI Now Supports iOS and Android Wheels for Mobile Python Development](https://cdn.sanity.io/images/cgdhsj6q/production/96416c872705517a6a65ad9646ce3e7caef623a0-1024x1024.webp?w=400&fit=max&auto=format)
Security News
PyPI Now Supports iOS and Android Wheels for Mobile Python Development
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
jarvis_rtc_client
Advanced tools
安装依赖: https://www.npmjs.com/package/jarvis_rtc_client
安装最新版本
npm i jarvis_rtc_client -S
yarn add jarvis_rtc_client -S
// 引入依赖包
import JarvisRtcClient from "JarvisRtcClient"
let config = {
// 自定义扩展参数
extra: {
name: '<name>',
userId: '<userId>',
other: '....',
other2: '....'
},
session: {
// 是否接受数据传输(必须为true)
data: true,
// 是否启用视频
audio: false,
// 是否启用音频
video: false
}
}
// 房间唯一id
let roomId = "xxx"
// 用于保存房间内所有在线用户列表信息
let roomUserList = []
// 连接host, 必须以 "/" 结尾
let connectionHost = "http://localhost:7001/"
RtcClient = new JarvisRtcClient(connectionHost, roomId, config);
// 打开调试模式
RtcClient.debug = true
RtcClient.on("onUserStatusChanged", this, useList => roomUserList = useList)
RtcClient.on("onMessage", this, msgObject => {})
RtcClient.on("onConnectionSuccess", this, () => {
// todo 连接成功, 回调处理...
})
RtcClient.open()
实例化 JarvisRtcClient
实例化JarvisRtcClient
之前, 必须在构造函数中传入配置参数, 参数示例如下:
let config = {
// 自定义扩展参数
extra: {
name: '<name>',
userId: '<userId>',
other: '....',
other2: '....'
},
session: {
// 是否接受数据传输(必须为true)
data: true,
// 是否启用视频
audio: false,
// 是否启用音频
video: false
}
}
/**
* connectionHost: 通讯服务端的host, 例如: http://localhost:7001/, 注意, 必须以 "/" 结尾
* roomId: 要进入或创建 的房间id, 客户端生成并传入
* config: 连接配置参数
*/
let RtcClient = new JarvisRtcClient(<connectionHost>, <roomId>, <config>)
建立连接
let RtcClient = new JarvisRtcClient(host, roomId, config);
RtcClient.on("onConnectionSuccess", this, () => {
// connection success , do something...
})
RtcClient.open()
通过监听 onConnectionSuccess 事件, 加入连接成功后的逻辑
发送文本消息
连接成功后, 可以通过send
方法发送通讯报文, 报文必须为字符串.
接收并处理消息, 可监听 onMessage 事件进行处理
let msgObject = {
type: "M01",
participant: null,
from: that.userId,
name: that.name,
// data: { rtv: '' },
data: "消息内容",
time: new Date().getTime()
}
RtcClient.send(JSON.stringify(msgObject))
Param | 中文 | 类型 | 描述 |
---|---|---|---|
type | 报文类型 | String | M01: 普通消息 |
participant | 通道id | String | 通讯用户id, 统称 通道id |
from | 发送消息用户id | String | 平台用户id |
name | 发送者昵称 | String | 平台用户昵称 |
time | 发送时间 | Long | 当前发送时间 |
data | 发送消息体 | String/Object | 客户端自定义的消息体 |
断开连接
当用户主动断开连接时, 可调用该方法与服务断断开连接
RtcClient.disconnect()
事件监听通用配置:
如想监听 onUserStatusChanged
事件, 只需要添加如下代码即可:
/**
* eventName: 监听的事件名称
* self: 当前函数的作用域 this, 一搬传this即可
* callback: 事件回调函数
*/
RtcClient.on("onUserStatusChanged", that, useList => that.roomUserList = useList)
当用户状态改变时(上线或者离线), 服务端会通过该事件通知客户端. 客户端不需要维护当前房间的用户列表, 只需要监听
onUserStatusChanged
事件, 并把回调的列表参数(用户列表)展现出来, 就可以了
示例demo:
// 该数组为当前房间内所有的用户列表信息
let roomUserList = []
RtcClient.on("onUserStatusChanged", that, useList => that.roomUserList = useList)
useList item示例:
[
{
status: "online",
isEmcee: true,
participant: "",
extra: {
userId: "",
name: "",
mail: ""
}
}
]
extra
为用户建立连接前, 实例化时通过 config 配置的, 配置详情请点击这里
Name | Type | Mark |
---|---|---|
status | String | 用户状态: "offline", "online" |
isEmcee | Boolean | 是否主持人 |
participant | String | 通讯用户id, 统称 通道id |
extra | Object | |
extra.userId | String | 用户id |
extra.name | String | 用户昵称 |
extra.mail | String | 用户邮箱 |
建立连接并连接正常时, 如房间内的其他用户发送消息, 则会在该事件中响应
客户端连接成功回调事件, 当用户加入房间或者创建房间成功, 都会通过该事件回调
FAQs
Jarvis Rtc 客户端库
The npm package jarvis_rtc_client receives a total of 3 weekly downloads. As such, jarvis_rtc_client popularity was classified as not popular.
We found that jarvis_rtc_client demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now supports iOS and Android wheels, making it easier for Python developers to distribute mobile packages.
Security News
Create React App is officially deprecated due to React 19 issues and lack of maintenance—developers should switch to Vite or other modern alternatives.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.