Ho un sito Web asp.net classico. Ive ha funzionato con la funzionalità di base SignalR (dove un client invia messaggi al resto dei client). ma ora voglio inviare messaggi solo a connessioni specifiche.SignalR invia messaggio a singola connessioneId
mia Hub:
** [HubName("chatHub")]
public class ChatHub : Hub
{
public static List<string> messages = new List<string>();
public void GetServiceState()
{
Clients.updateMessages(messages);
}
public void UpdateServiceState()
{
messages.Add(DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"));
Clients.updateMessages(messages);
}
}**
Asp codice:
<script type="text/javascript">
$(function() {
// creates a proxy to the health check hub
var healthCheckHub = $.connection.chatHub;
console.log($.connection.hub)
// handles the callback sent from the server
healthCheckHub.updateMessages = function (data) {
$("li").remove();
$.each(data, function() {
$('#messages').append('<li>' + this + '</li>');
console.log($.connection);
});
};
$("#trigger").click(function() {
healthCheckHub.updateServiceState();
});
// Start the connection and request current state
$.connection.hub.start(function() {
healthCheckHub.getServiceState();
});
});
Il problema è che io non so davvero come inviare a un ConnectionID specifico con hub, in quanto Clients.updateMessages (messaggi); inviare messaggi a tutti loro. Come lo risolvo?
P.S: ive già guardato: Send server message to connected clients with Signalr/PersistentConnection
e http://riba-escapades.blogspot.dk/2012/05/signalr-send-messages-to-single-client.html
quella non ha funzionato.
Ho fatto in modo che dopo che l'utente ha effettuato l'accesso, connectionID sarà sempre uguale a userID. Nella mia applicazione ho fatto in modo che dopo l'utente premi il tasto invio, scopro chi è per me e invia messaggi solo a quegli ID di connessione. non so se si tratta di una mossa intelligente. Qualche idea su come implementarlo in modo più intelligente? – Timsen
La maggior parte delle implementazioni che ho visto fare alle persone utilizzano un mapping di relazione uno-a-molti dell'identità utente logica agli ID di connessione attivi. –
Ultima domanda, cosa accadrebbe se invio un messaggio a un connectionID che è offline? – Timsen