我们希望实时将数据从客户端传输到服务器,因此我们决定使用WebSockets。
使用Xamarin.Forms很难找到合适的WebSocket库。
最佳匹配是" WebSocket4Net"因为它是在Xamarin的主页上直接提出的。但是我无法安装此库,因为它只支持最高版本为v4.0的.NET版本。 (我们正在使用v4.5)
每当我尝试将我的PCL的目标框架从v4.5更改为v4.0时,我会收到许多奇怪的错误,说明"无法找到Windows.Input库"," ObservableCollection无法找到"等。
所以我们目前正在使用这个库" WebSocket.Portable.Core"虽然缺乏一些功能,但仍然有效。但是出于某种原因,我们只能收到一条消息。事件" MessageReceived"总是只召唤一次。
有没有人听说过WebSockets存在这样的问题?也许是时候使用另一个图书馆,但我找不到一个?
我也找不到任何解决方案如何为每个平台本地实现WebSockets。
答案 0 :(得分:2)
WebSockets.PCL具有针对每个平台的本机实现,并且已有详细记录
答案 1 :(得分:0)
像WebSockets.PCL这样的库可以很快获得成功,但是它们本质上只是WebSocket客户端的包装,并且它们通常几乎没有提供任何功能。
在考虑 implementing a dependable client-side WebSocket solution for Xamarin apps 时,您需要考虑一些挑战:
答案 2 :(得分:-1)
您可以在KinderChat示例应用程序中看到我们如何使用WebSockets: