简体   繁体   中英

Xamarin Forms: How do I implement WebSockets?

We want to transfer data from a client to a server in realtime, so we have decided to go with WebSockets.

Using Xamarin.Forms it was surprisingly difficult to find a suitable WebSocket library.

The best match was "WebSocket4Net" because it is directly suggested on Xamarin's Homepage. However I was not able to install this library, because it only supports versions of .NET up to v4.0. (We are using v4.5)

Whenever I try to change the target framework of my PCLs from v4.5 to v4.0 I get loads of weird errors stating "Windows.Input library could not be found", "ObservableCollection could not be found" etc.

So we are currently using the library "WebSocket.Portable.Core", which although lacking some functionality worked out. However for some reason we can only receive one message. The event "MessageReceived" always is just called once.

Has anyone heard about such a problem with WebSockets? Maybe it is just time to use another library, but I just can't find one?

I also can't find any solution how to implement WebSockets natively for each platform.

WebSockets.PCL has a native implementation for each platform and it's well documented

https://github.com/NVentimiglia/WebSockets.Pcl

You can see how we use WebSockets in the KinderChat sample application:

https://github.com/xamarin/KinderChat

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM