8

这是我使用 WampSharp 的最新预发布版本的非常简单的代码:

        var channelFactory = new DefaultWampChannelFactory();
        var channel = channelFactory.CreateMsgpackChannel("wss://api.poloniex.com", "realm1");
        await channel.Open();

        var realmProxy = channel.RealmProxy;

        Console.WriteLine("Connection established");

        int received = 0;
        IDisposable subscription = null;

        subscription =
            realmProxy.Services.GetSubject("ticker")
                      .Subscribe(x =>
            {
                Console.WriteLine("Got Event: " + x);

                received++;

                if (received > 5)
                {
                    Console.WriteLine("Closing ..");
                    subscription.Dispose();
                }
            });

        Console.ReadLine();

但是不起作用,订阅中的代码永远不会运行。也试过了,CreateJsonChannel还是不行。

有什么想法可能是错的吗?

4

1 回答 1

1

您的代码工作正常。只需摆脱 Console.ReadLine - 它会阻止 WebSocket 线程,因此 WampSharp 无法获得任何进一步的消息。您可以改为将 Console.ReadLine 添加到您的 Main 中。

另请参阅博客文章

于 2016-07-23T17:26:36.020 回答