注意事项 微信小程序需要wss开头的socket域名,需要配置socket合法域名,具体操作方法:https://mp.weixin.qq.com打开并登录 --->管理 --->开发管理 --->服务器域名 --->修改
// npm安装方式,插件市场导入无需执行此命令。插件市场导入地址:https://ext.dcloud.net.cn/plugin?id=22423
npm install c-websocket
// 以下导入方式按照安装方式导入,二选一
import Socket from "@/uni_modules/c-websocket"; // 插件市场导入方法
import Socket from "c-websocket"; // npm导入方法
const testSocket = new Socket("testSocket");
testSocket.setHeartbeatParams({
time: 10000, // 多少毫秒发送一次心跳
data: "心跳" // 心跳发送内容
});
testSocket.setReconnectParams({
count: 3, // 重连次数
time: 3000 // 多少毫秒重连
})
testSocket.connect({
url: "wss://...",
heartbeat: {
open: true,
time: 30000,
data: "心跳"
},
onOpen: (res) => {
// socket监听打开,需要处理的逻辑
testSocket.send("发送一条消息给后端");
},
onMessage: (res) => {
// socket接收服务端的消息,需要处理的逻辑
},
onClose: (res) => {
// socket监听关闭,需要处理的逻辑
},
onError: (err) => {
// socket监听错误,需要处理的逻辑
}
})
setTimeout(() => {
testSocket.close((res) => {
console.log("socket关闭情况:", res);
});
}, 10000)
创建对象
属性 | 类型 | 是否必填 | 说明 |
---|---|---|---|
taskName | String | 是 | 创建的socket任务名,唯一 |
closeLog | Boolean | 否 | 关闭当前插件里所有的打印(console.log),默认false |
设置重连socket参数
属性 | 类型 | 是否必填 | 说明 |
---|---|---|---|
isExecute | Boolean | 否 | 是否可以重连,默认true |
count | Number | 否 | 重连次数,默认10 |
time | Number | 否 | 多少毫秒重连一次,默认10000 |
设置心跳的参数
属性 | 类型 | 是否必填 | 说明 |
---|---|---|---|
open | Boolean | 否 | 是否开启心跳,默认true |
time | Number | 否 | 多少毫秒发送心跳,默认30000 |
data | String/ArrayBuffer | 否 | 心跳发送的内容,默认"" |
创建socket
属性 | 类型 | 是否必填 | 说明 |
---|---|---|---|
url | String | 是 | uni.connectSocket的url参数 |
connectParams | Object | 否 | uni.connectSocket的参数对象,注:这个属性填写url会覆盖单独设置的url属性 |
onOpen | Function | 否 | SocketTask.onOpen,监听 WebSocket 连接打开事件 |
onMessage | Function | 否 | SocketTask.onMessage,监听 WebSocket 接受到服务器的消息事件 |
onClose | Function | 否 | SocketTask.onClose,监听 WebSocket 连接关闭事件 |
onError | Function | 否 | SocketTask.onError,监听 WebSocket 错误事件 |
给服务端发送的函数
属性 | 类型 | 是否必填 | 说明 |
---|---|---|---|
data | String/ArrayBuffer | 是 | 发送给服务端的内容 |
closeLog | Boolean | 否 | 关闭当前这次发送内容的打印(console.log) |
关闭当前socket的函数
属性 | 类型 | 是否必填 | 说明 |
---|---|---|---|
callback | Function | 否 | 执行完的回调 |