Службы Windows работают в качестве издателя, и я пытаюсь настроить формы Xamarin в качестве подписчика.Приведенный ниже код прекрасно работает в консольном приложении или LinqPad, но при копировании и вставке в Xamarin Forms SubscriberSocket просто не отвечает на сообщения с сервера.
Знаете ли вы, как подключить это?
Я использую NetMQ v 4.0.0.1
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
Task.Run(() => StartPubSubSocketSubscriber());
}
private void StartPubSubSocketSubscriber()
{
string topic = "TopicA";
using (var subSocket = new SubscriberSocket())
{
subSocket.Options.ReceiveHighWatermark = 1000;
subSocket.Connect("tcp://192.168.30.120:5556");
subSocket.Subscribe(topic);
while (true)
{
string messageTopicReceived = subSocket.ReceiveFrameString();
string messageReceived = subSocket.ReceiveFrameString();
Device.BeginInvokeOnMainThread(() =>
{
label.Text = messageReceived;
});
}
}
}
}
Я также пытался запустить фоновый поток с Task.Factory.StartNew(() => StartPubSubSocketSubscriber(), TaskCreationOptions.LongRunning);
, но он так же не отвечает на сообщения от издателя.
Спасибо.
PS .: удалено subSocket.Connect ("tcp: // localhost: 5556");