10

非常に単純な質問です。接続したばかりのクライアントがメッセージを受信しないのに、他のすべてのクライアントがブロードキャストを受信するのはなぜですか? メッセージを接続したクライアントを送信する正しい方法は何ですか?

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

1 に答える 1

3

JavaScriptのconnection.start()関数にコールバック関数を入れて、コマンドを再送信する必要があると思います。JSON のブロードキャスト メッセージとエコー メッセージの別のタイプは、参加後に接続の状態を検出するのに役立つ場合があります...ベローズは私のために働きます..

.....
connection.start({ callback: function () {
var username = getCookie("username");
connection.send(window.JSON.stringify({ type: 0, value: username }));
}
});
......
于 2011-12-29T23:05:35.073 に答える