我有一个非uniapp体系的前端页面,如果想和unicloud用websocket通信有什么方案没,有没有类似云函数url化的接口

- 发布:2024-08-16 04:04
- 更新:2025-10-18 19:34
- 阅读:1192

套马杆的套子 - 没有解决不了的问题,只有解决不完的问题
可以参考下,这块有云函数对websocket的一些api
https://doc.dcloud.net.cn/uniCloud/websocket.html#unicloud-ws-send

有的,可以通过云函数URL调用这个接口https://doc.dcloud.net.cn/uniCloud/websocket.html#unicloud-ws-signedurl,生成websocket连接地址。就可以在非uniapp体系下用了。
-
1***@qq.com (作者)
你好,是作为websocket服务端使用吗,我看文档里说云函数不可以作为websocket服务端使用。我在云对象里测试了一下,通过运行本地云对象的方式调试时,提示我signedURL is not function。
2024-08-16 17:44
-
1***@qq.com (作者)
const ws = uniCloud.webSocketServer();
module.exports = {
_before: function() {
},
async getWsAddress() {
try {
let res = await ws.signedURL("wss", {
key: "val"
});
return res;
} catch (error) {
console.error('生成WebSocket地址时出错:', error);
}
}
}这是我写在云对象中的测试代码,可以帮忙看下吗
2024-08-16 17:47
-
-
回复 DCloud_uniCloud_CRL: 我在支付宝云空间中,使用上述代码成功有返回值。但是,我像问一下,返回的这个wss地址是不是永久的?另外,我像实现物联网,ESP32单片机实时连接支付宝云空间。请问有相关的例子吗?我在网上没有搜索到。
2024-11-12 23:29
-
回复 3***@qq.com: 不是永久的,每次连接之前重新获取一下最新的连接地址就行了。你的单片机只要支持网络连接,理论上就可以,这是标准的websocket协议。
2024-11-13 11:21
-
-

有没有大佬知道下面错误时怎么回事:
[WebSocket测试-info] 页面加载完成,准备进行WebSocket测试
mp.esm.js:481 [WebSocket测试-info] 开始连接WebSocket...
mp.esm.js:481 [WebSocket测试-info] 连接云函数: test-websocket-simple
mp.esm.js:481 [WebSocket测试-info] 用户ID: test-user-001, 房间ID: test-room-001
mp.esm.js:481 [WebSocket测试-info] 连接URL: wss://env-00jxu6p5yucw.api-hz.cloudbasefunction.cn/ws?name=test-websocket-simple&userId=test-user-001&roomId=test-room-001
mp.esm.js:481 [WebSocket测试-info] Socket连接请求已发起
mp.esm.js:481 [WebSocket测试-info] SocketTask对象已创建
WebSocket connection to 'wss://env-00jxu6p5yucw.api-hz.cloudbasefunction.cn/ws?name=test-websocket-simple&userId=test-user-001&roomId=test-room-001' failed: (env: Windows,mp,1.06.2504030; lib: 3.10.0)
(anonymous) @ uni.api.esm.js:904
invokeApi @ uni.api.esm.js:330
promiseApi @ uni.api.esm.js:793
connectWebSocket @ test-simple-websocket.vue:216
(anonymous) @ test-simple-websocket.vue:283
callWithErrorHandling @ vue.runtime.esm.js:1356
callWithAsyncErrorHandling @ vue.runtime.esm.js:1363
invoke @ vue.runtime.esm.js:5577
mp.esm.js:481 [WebSocket测试-error] 连接错误: {"errMsg":"未完成的操作"}
mp.esm.js:481 [WebSocket测试-warn] 连接已关闭: {"code":1006,"reason":"abnormal closure"}
[worker] reportRealtimeAction:fail not support
U @ WAWorker.js:1
invoke @ WAWorker.js:1
invoke @ WAWorker.js:1
G @ WAWorker.js:1
(anonymous) @ WAWorker.js:1
qe @ WAWorker.js:1
Z @ WAWorker.js:1
p @ WAWorker.js:1
(anonymous) @ WAWorker.js:1
(anonymous) @ WAWorker.js:1
setTimeout (async)
globalThis.setTimeout @ WAWorker.js:1
Y @ WAWorker.js:1
Le @ WAWorker.js:1
(anonymous) @ WAWorker.js:1
r @ WAWorker.js:1
s @ WAWorker.js:1
callAndRemove @ WAWorker.js:1
invokeCallbackHandler @ WAWorker.js:1
eval @ VM11:1
1***@qq.com (作者)
你好,可以帮忙看看下面的回复吗
2024-08-16 18:05