2011-12-14 32 views
10

Pregunta muy simple. ¿Por qué el cliente que acaba de conectarse no recibe ningún mensaje, pero todos los otros clientes reciben la transmisión? ¿Cuál es la forma correcta de enviar al cliente que conectó un mensaje?SignalR OnConnected - Enviando Cliente Conectado un Mensaje

protected override void OnConnected(HttpContextBase context, string clientId) 
{  
    GameAction message = new GameAction(); 
    message.text = "Player connected"; 
    Connection.Broadcast(serializer.Serialize(message)); 

    GameAction gamestate = new GameAction(); 
    gamestate.text = "Some client specific info";  
    Send(clientId, serializer.Serialize(gamestate));  
} 

Respuesta

3

creo que se debería poner una llamada de función en una connection.start() en sus javascript y vuelva a enviar su mando. El tipo de mensaje de difusión y el mensaje de eco en JSON pueden ayudarlo a detectar el estado de la conexión después de unirse en ... El fuelle funciona para mí ...

..... 
connection.start({ callback: function() { 
var username = getCookie("username"); 
connection.send(window.JSON.stringify({ type: 0, value: username })); 
} 
}); 
...... 
Cuestiones relacionadas