Использование ZeroMQ в Xamarin

У меня есть приложение, состоящее из сервера и клиента.

Сервер — это приложение C/C++, а клиент — кроссплатформенное приложение Xamarin, предназначенное для Windows, Android и iOS.

Часть сервера и часть клиента взаимодействуют с помощью сообщений ZeroMQ.

Я попробовал текущую реализацию С#, например NetMQ и clrzmq, но их нельзя использовать в Xamarin.

Знаете ли вы самый простой способ использования ZeroMQ в Xamarin?


person ProEns08    schedule 10.05.2016    source источник
comment
Я боюсь, что нет простого решения atm. Не раньше, чем автор NetMQ сделает библиотеку переносимой. Если вам нужно быстрое решение, вы можете попробовать создать HTTP-туннель для своих данных, т. е. передать данные с клиента Xamarin на сервер IIS через HTTP, распаковать пакеты NetMQ из пакетов HTTP и повторно отправить их на ваш сервер C/C++ ZeroMQ.   -  person Zverev Evgeniy    schedule 12.05.2016
comment
Из вашего опыта работы с Xamarin. знаете ли вы какую-либо другую платформу обмена сообщениями, которую можно использовать в Xamarin для всех целей (Windows, iOS и Android). Я должен использовать структуру обмена сообщениями, а не обычный сокет TCP, потому что мне нужна максимальная производительность.   -  person ProEns08    schedule 12.05.2016
comment
Попробуйте это: components.xamarin.com/view/socketioclientdotnet или это: nuget.org/packages/rda.SocketsForPCL хотя я не совсем понимаю, что вы имеете в виду, говоря не обычный TCP разъем. Если вы имеете в виду, что вам нужен UDP для более низкой задержки, чем я понимаю, но вы имеете в виду это?   -  person Zverev Evgeniy    schedule 12.05.2016
comment
Очень полезные ссылки. Что вы думаете об их исполнении. Можно ли их сравнить с ZeroMQ?   -  person ProEns08    schedule 12.05.2016


Ответы (1)


Я боюсь, что нет простого решения atm. Не раньше, чем автор NetMQ сделает библиотеку переносимой. Если вам нужен быстрый обходной путь, вы можете попробовать создать HTTP-туннель для своих данных, т. е. передать свои данные с клиента Xamarin на сервер IIS через HTTP, распаковать пакеты NetMQ из пакетов HTTP и повторно отправить их на ваш сервер C/C++ ZeroMQ.

В качестве альтернативы вы можете попробовать это: Socket.IO Client .NET или это: Подключаемый модуль Sockets для Xamarin.

У меня нет никакого сравнения их производительности с ZeroMQ и NetMQ, в частности.

person Zverev Evgeniy    schedule 12.05.2016
comment
Я автор NetMQ, я думаю, что сделать NetMQ переносимым, вероятно, невозможно, я думаю, что мы можем попытаться сделать портативную, только клиентскую, тонкую библиотеку, которая поддерживает ZMTP (транспортный протокол zeromq/netmq). Я что-то начал, но это требует дополнительной работы, и я ищу кого-то, кому это нужно и кто хочет инвестировать в это. github.com/somdoron/zmtp.net - person somdoron; 14.05.2016
comment
@somdoron есть ли обновление для ZMTP, я пытался использовать NetMq на Xamarin для соединения между UWP и Android. - person Morse; 19.01.2019