No olvides que en las ciencias informáticas un problema suele tener más de una resoluciones, no obstante mostramos lo más óptimo y eficiente.
Solución:
Si usa el servicio Azure SignalR:
module.exports = async function (context, req)
context.bindings.signalRMessages = [
// message will only be sent to this user ID
"userId": "userId1",
"target": "newMessage",
"arguments": [ req.body ]
];
;
Un ID de usuario podría asignarse a múltiples conexiones de clientes (por ejemplo, dispositivos), tenga en cuenta eso.
Si necesita enviar mensajes a varios usuarios o está alojando SignalR usted mismo:
Los grupos son la forma más fácil de enviar mensajes a un subconjunto de usuarios. Si desea enviar un mensaje a un determinado usuario, puede utilizar el userId
como el nombre del grupo.
Decidir qué usuario pertenece a qué grupo es una característica del lado del servidor, por lo que debe escribir algo de código.
module.exports = async function (context, req)
context.bindings.signalRGroupActions = [
"userId": req.query.userId,
"groupName": "myGroup",
"action": "add"
];
;
Usando Azure SignalR Service y el código del lado del cliente de la pregunta, pude hacer que funcionara. Usé la siguiente función de Azure para negociar la conexión:
module.exports = async function (context, req, connectionInfo)
context.res.body = connectionInfo;
context.done();
;
"disabled": false,
"bindings": [
"authLevel": "anonymous",
"type": "httpTrigger",
"direction": "in",
"name": "req"
,
"type": "http",
"direction": "out",
"name": "res"
,
"type": "signalRConnectionInfo",
"name": "connectionInfo",
"userId": "userId", // <----- IMPORTANT PART!
"hubName": "chat",
"direction": "in"
]
Así como otra función para enviar un mensaje a un usuario específico:
module.exports = async function (context, req)
const messageObject = req.body;
return
"target": "newMessage",
"userId": messageObject.userId,
"arguments": [ messageObject.message]
;
;
"disabled": false,
"bindings": [
"authLevel": "anonymous",
"type": "httpTrigger",
"direction": "in",
"name": "req",
"methods": [
"post"
]
,
"type": "http",
"direction": "out",
"name": "res"
,
"type": "signalR",
"name": "$return",
"hubName": "chat",
"direction": "out"
]
Te mostramos reseñas y valoraciones
Si posees alguna desconfianza y capacidad de reformar nuestro ensayo te mencionamos ejecutar una crítica y con deseo lo analizaremos.