2011-12-14 16 views
10

Bardzo proste pytanie. Dlaczego klient, który właśnie się połączył, nie otrzymuje żadnych wiadomości, ale wszyscy inni klienci otrzymują transmisję? Jaki jest prawidłowy sposób wysyłania klienta, który połączył wiadomość?SignalR OnConnected - Wysyłanie połączonego klienta Wiadomość

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));  
} 

Odpowiedz

3

myślę, że należy zawiesić połączenie z powrotem funkcji w connection.start funkcji() w JavaScript i ponowne wysłanie komendy. Oddzielny typ komunikatu rozgłoszeniowego i komunikatu echo w JSON może pomóc w wykryciu stanu połączenia po dołączeniu do ... Mieszki działają dla mnie ..

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