私はクライアントの1つがハブクラスメソッドAddMessage
に要求を送信し、それを開始したクライアントを含むすべてのクライアントにそのメッセージをブロードキャストするシナリオがあります。C#を使用してSignalRクライアントのHubクラスからブロードキャストメッセージを受信する方法は?
編集
問題は、私は次のコードに示すように、クライアントからハブメソッドAddMessage
を呼び出すことができるだということですが、私は、クライアント側でのブロードキャストメッセージを処理する方法を見つけることができませんでした次の行を使用してHubクラスで開始されます。
Clients.All.NotifyMessageToClients(name, message);
SignalRハブクラス
using System;
using Microsoft.AspNet.SignalR;
using System.Threading.Tasks;
public class SignalRChatHub : Hub
{
public void AddMessage(string name, string message)
{
// Following call is supposed to notify all clients with passed parameters.
// They could have a method called NotifyMessageToClients to fetch the broadcasted message
Clients.All.NotifyMessageToClients(name, message);
}
}
SignalRクライアント
using System;
using Microsoft.AspNet.SignalR.Client;
public partial class Default : System.Web.UI.Page
{
HubConnection hubConnection;
IHubProxy stockTickerHubProxy;
public Default()
{
hubConnection = new HubConnection("http://localhost:6898/");
stockTickerHubProxy = hubConnection.CreateHubProxy("SignalRChatHub");
}
async public void SendAddNotification(string msgFrom, string msg)
{
// Following line calls Addmessage method in SignalRChatHub class
await stockTickerHubProxy.Invoke("Addmessage", "Ajendra", "Hello StackOverflow");
}
// I might need the method NotifyMessageToClients here... to receive broadcasted message
}
私は、クライアントを作成することによって、jQueryのではなく、C#で同じことを達成する方法についていくつかのアイデアを持っています私が上記のように。どのように私はこれを達成するだろう、どんな助けていただければ幸いです。
上記の方法が意味をなさない場合は、適切な方法を教えてください。おかげ
あなたがこの質問を書いた方法で少し混乱していますが、あなたがここで何を求めているのかははっきりしていません。すべてのクライアントにメッセージをブロードキャストする方法を尋ねていますか?あなたはすでにそれをしていたからです。それともクライアント側でそれらを受け取るかを尋ねていますか?あるいは、あなたはクライアント側からの接続を設定する方法を知らないでしょうか?いずれにせよ、あなたの質問にはできるだけ明示的にしようとしてください。あなたが今までに試したことを教えてください。 – Dennis1679
@ Dennis1679ご迷惑をおかけして申し訳ございません。編集のセクションを確認してください。今すぐ明らかになってほしい、 –