0

クライアント 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();

すべてのクライアントにメッセージをブロードキャストすると思いますか? 単一のクライアントのみを指定するにはどうすればよいですか? その使用シナリオはサポートされていますか?

4

1 に答える 1