1

人々が質問を投稿し、別の人が回答を投稿するフォーラムがあるとします。たとえば、人 A が「Signaler とは何ですか?」という質問を投稿するとします。そのページに立ってください。他の人もそのページを開いて回答します。他の人が回答を投稿した場合、他のユーザーが開いているそのページにその回答が表示されるようにします。5 人のユーザーがそのページを開き、そのうちの 1 人が回答すると、5 人のユーザーにその回答が表示されます。

通常、メッセージをすべての人にブロードキャストしたい場合は、サーバー側のような構文を使用します

Clients.All.broadcastMessage(name, message);

上記の状況によると、どのような構文を使用する必要がありますか?

ブロードキャストメッセージタイプについて見つけたいくつかのガイドを次に示します。それらは次のとおりです

// Call send on everyone
        Clients.All.send(message);

        // Call send on everyone except the caller
        Clients.Others.send(message);

        // Call send on everyone except the specified connection ids
        Clients.AllExcept(Context.ConnectionId).send(message);

        // Call send on the caller
        Clients.Caller.send(message);

        // Call send on everyone in group "foo"
        Clients.Group("foo").send(message);

        // Call send on everyone else but the caller in group "foo"
        Clients.OthersInGroup("foo").send(message);

        // Call send on everyone in "foo" excluding the specified connection ids
        Clients.Group("foo", Context.ConnectionId).send(message);

        // Call send on to a specific connection
        Clients.Client(Context.ConnectionId).send(message);

どちらを使用する必要がありますか? 説明してください & ありがとう。

4

1 に答える 1

1

質問のIDを持つページにdivを配置できます。したがって、次のようなものになります。

<div id="theAskedQuestionId"><!-- the answer will be inserted here--></div>

たとえば、次のようになります。

<div id="12345"><!-- the answer will be inserted here--></div>

そして、jquery を使用して回答を div に挿入できます。これの例は次のとおりです。

var messagePublisher = $.connection.yourHubName;

messagePublisher.client.broadcastMessage = function(divId, message){
$(divId).html(message); //note: divId will be something like #12345
};

これにより、任意の質問を見ているユーザーにメッセージをブロードキャストするのではなく、特定の質問を見ているユーザーにのみメッセージを表示できます。これがあなたが助けを求めていたものだと思います。

于 2013-04-26T15:32:43.913 に答える