クライアント A、クライアント B、クライアント C の 3 つのクライアントがあるとします。
それらはすべて、リフレクションを使用して登録する Ping() 関数をサポートしています (コードは WampSharp のドキュメントに基づいています)。
public interface IArgumentsService
{
[WampProcedure("com.arguments.ping")]
void Ping();
}
public class ArgumentsService : IArgumentsService
{
public void Ping()
{
}
}
IArgumentsService services = channel.RealmProxy.Services;
ArgumentService callee = new ArgumentService(this);
services.RegisterCallee(callee);
次に、各クライアントにプロキシを設定して、発信呼び出しを行います。
DefaultWampChannelFactory channelFactory = new DefaultWampChannelFactory();
IWampChannel channel = channelFactory.CreateJsonChannel("ws://127.0.0.1:8080/", "realm1");
Task channelOpenTask = channel.Open();
channelOpenTask.Wait();
IArgumentsService proxy = channel.RealmProxy.Services.GetCalleeProxy<IArgumentsService>();
クライアント A からクライアント C にメッセージを送信するにはどうすればよいですか? プロキシ経由でルーターにメッセージを送信するときに、特定のクライアントをアドレス指定する方法がわかりません。私にできることは次のことだけです。
proxy.Ping();
すべてのクライアントにメッセージをブロードキャストすると思いますか? 単一のクライアントのみを指定するにはどうすればよいですか? その使用シナリオはサポートされていますか?