2016-07-23 2 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

Я пытаюсь использовать webonocket poliiex api. У вас есть рабочий образец кода? – Luther

+0

Вы решили? –

+0

Это их API, а не ваш код. Их API не отправляет данные. Я попробовал это с опубликованным примером node.js, и данные не возвращаются. – Simoyd

ответ

1

Ваш код работает нормально. Просто избавьтесь от Console.ReadLine - он блокирует поток WebSocket, и поэтому WampSharp не может получать никаких дополнительных сообщений. Вместо этого вы можете добавить консоль.

См. Также blog post.

+0

Это не имеет смысла, так как их пример показывает именно это: http://wampsharp.net/wamp2/roles/subscriber/getting-started-with-subscriber/ – YesMan85

+1

Разница в том, что в примере, к которому вы привязались, они используют '' 'channel.Open.Wait (5000)' '', а не '' 'ждать channel.Open()' ''. Ключевое слово await запускает следующие строки в потоке WebSocket. – darkl

+0

А я вижу, я стою исправлено. – YesMan85

Смежные вопросы