1

別のサーバーから Hub クラスへのデータを受信しました。各データには独自の ID があります。データがサーバー ハブに到着するたびに、データがクライアントにプッシュされます。これは仕事の進行のようなものです。各 ID を一意のハブ ID でクライアントに送信したいのですが、サーバーからのメッセージをフィルタリングするにはどうすればよいですか? このように使用しましたClients.Client("ID1").send(data);または、呼び出し元のプロパティで指定する必要がありますか? 誰でも私を助けることができます。

よろしく、 シャンティニ

4

1 に答える 1

3

ConnectionIdクライアントの識別に使用できます。

ConnectionId新しいクライアントが接続されたら、後でクライアントを識別するために使用できるように、どこかに保存します。

public class MyHub : Hub
{
    public override Task OnConnected()
    {
        var connectionId = Context.ConnectionId;
        // store connectionId somewhere
        return base.OnConnected();
    }
}

クライアントにデータを送信するには、次のように識別します ConnectionId

public void SendNewData(string connectionId, object data)
{
    var Context = GlobalHost.ConnectionManager.GetHubContext<MyHub>();
    Context.Clients.Client(connectionId).send(data);
}

他の ID でクライアントを識別する必要がある場合は、ID と の関係を保存する必要がありますConnectionId

于 2013-05-23T15:29:00.437 に答える