2011-12-14 37 views
10

Câu hỏi rất đơn giản. Tại sao khách hàng vừa kết nối không nhận được bất kỳ tin nhắn nào, nhưng tất cả các khách hàng khác đều được phát sóng? Cách chính xác để gửi khách hàng kết nối tin nhắn là gì?SignalR OnConnected - Gửi thông báo cho Khách hàng được kết nối

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

Trả lời

3

Tôi nghĩ bạn nên đặt hàm gọi lại trong hàm connection.start() trong javascript của bạn và gửi lại lệnh của bạn. Loại tin nhắn phát sóng và tin nhắn echo riêng biệt trong JSON có thể giúp bạn phát hiện trạng thái kết nối sau khi bạn tham gia ... Ống thổi hoạt động cho tôi ..

..... 
connection.start({ callback: function() { 
var username = getCookie("username"); 
connection.send(window.JSON.stringify({ type: 0, value: username })); 
} 
}); 
...... 
Các vấn đề liên quan