2016-07-23 6 views
8

はWampSharpの最新プレリリース版を使用して私の非常に簡単なコードです:WampSharpはPoloniexに接続できませんか?ここ

 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と同様に試してみると、うまくいきません。

何が間違っている可能性がありますか?

+0

私はpoloniex websocket APIを使用しようとしています。サンプルコードがありますか? – Luther

+0

あなたはそれを解決しましたか? –

+0

あなたのコードではなく、そのAPIです。 APIはデータを送信していません。投稿されたnode.jsの例で試してみましたが、データも戻ってきません。 – Simoyd

答えて

1

コードは正常に動作します。 Console.ReadLineを取り除くだけで、WebSocketスレッドがブロックされ、WampSharpはそれ以上のメッセージを受け取ることができません。 代わりに、Console.ReadLineをメインに追加できます。

blog postも参照してください。

+0

例では正確にこれを示しているので意味がありません:http://wampsharp.net/wamp2/roles/subscriber/getting-started-with-subscriber/ – YesMan85

+1

違いは、あなたがリンクしている例では、 '' 'channel.Open.Wait(5000)' ''ではなく '' 'await channel.Open()' ''です。 awaitキーワードはWebSocketのスレッド上で次の行を実行させます。 – darkl

+0

ああ、私は訂正した。 – YesMan85

関連する問題