我有一个用例,可以从Azure Serverless函数向连接的WebSockets发送多个消息。
假设,客户端(通过WebSocket)向我发送数字5。然后我在Azure的Sever(较少)端收到此消息,并希望向连接的WebSocket发送5条消息。
我目前所拥有的是教程函数https://learn.microsoft.com/en-us/azure/azure-web-pubsub/quickstart-serverless?tabs=javascript
module.exports = async function (context, data) {
context.bindings.actions = {
"actionName": "sendToAll",
"data": `[${context.bindingData.request.connectionContext.userId}] ${data}`,
"dataType": context.bindingData.dataType
};
// UserEventResponse directly return to caller
var response = {
"data": '[SYSTEM] ack.',
"dataType" : "text"
};
return response;
};
当来自客户端的新消息到达时,这个无服务器函数被触发,并且通过将该消息作为函数结果返回,明确地只发送回一个消息。
我现在如何实现向连接的WebSocket发送更多消息,而不是通过返回类型而是以某种方式(例如,在向客户端发送消息之间等待一定时间)?
感谢帮助
1条答案
按热度按时间deikduxw1#
首先,我创建了一个Azure webpubsub服务。
我用CLI创建了一个函数app,名为webpubsubTrigger,测试正常,参考了一下
而不是返回单个响应。
WebPubSubAsyncCollector
允许您向一个或多个WebSocket客户端发送多个消息。请尝试以下操作是否有效。更多的参考检查下面。