Ответ 1
Я сделал аналогичное исследование около 3 месяцев назад проекта с Angular 2 и Singnalr. Надеюсь, использование веб-сокетов не является существенным для вашего проекта.
Как вы можете видеть здесь, один из разработчиков Xamarin заявил, что он не работает, поскольку System.Web.WebSocket
не реализован в Mono, и они не планируют его реализовать в наши дни.
Я считаю, что сейчас есть много работы с моно-стеком http, и, вероятно, необходимо стабилизировать, прежде чем мы увидим, что эта конкретная проблема решена.
Я предлагаю продолжить работу с текущим моно, поскольку signalr имеет резерв для веб-сайтов, это не будет большой проблемой, и когда он будет реализован в моно, вы можете просто просто обновить свой проект. С текущей политикой открытых источников MS я считаю, что это будет раньше, чем должно было быть.
Если вам нужна функция websocket для вашего проекта, тогда вы должны разветкить SignalR или найти раздвоенную версию, которая использует стороннее решение прямо сейчас. WebSocketListener действительно популярен и имеет больше возможностей.
Я бы посоветовал всем, кто заинтересован в fork SignalR и посмотреть, могут ли они использовать одну из этих реализаций web-приложений xplat, чтобы заставить ее работать в своей собственной вилке.
Обновить:
К сожалению, я не мог найти вилку SignalR с помощью WebSocketListener, но так как у нее много вилок, их трудно найти.
Насколько я знаю, команда Mono практически полностью останавливает реализацию и фокусируется на реализации ASP.Net vNext на Mono, поскольку она является открытым исходным кодом.