Cross-platform socket API for Xamarin iOS/Android/Forms, Xamarin.Mac, Windows Phone 8/8.1, Windows Store, UWP and Windows Desktop. Includes support for TCP and UDP listeners and clients, as well as UDP multicast.
Requires NuGet 2.8.1 or higher.
- Released nuget package and fixed typo
- Added flag to ignore SSL errors
- A `SocketException` class has been added, allowing socket-related exceptions to be caught from PCL code. In this release, this works for WinRT/UWP platforms only.
- Support for the iOS "Classic" API, MacOS "Classic" and MonoMac (open source) platforms has been dropped.
- It is now possible to retrieve the `ICommsInterface` that a `TcpSocketClient` is connected via. Thanks @fubar-coder
- Auto-properties have been replaced with proper events across all classes. Thanks @Waty
- `TcpSocketClient`'s `ConnectAsync` method optionally takes a `CancellationToken` to support client-invoked cancellation and scenarios like timeout. Thanks @SparkStream
- You may now specify a service name rather than port when connecting with a `TcpSocketClient`. Thanks @SparkStream
- For those that need it, you can access the underlying .NET or WinRT/UWP socket instance from native (non-PCL) projects. Thanks @SparkStream
- `UdpSocketClient` can now receive response packets. This simplifies scenarios where you don't need to listen for new packets, but do need to receive response packets. Thanks @SatoshiARA
- All the Udp socket classes now include a `Send-` overload that allows you to specify the number of bytes to be read from the input. This can avoid the need to duplicate a buffer when working with streams. Thanks @jasells
- Fixed `InvalidCastException` being thrown by `TcpSocketListener.Dispose()`. Thanks @Waty
- Fix for a rare issue where the Udp classes could throw an exception after receiving an ICMP unreachable packet in certain cases
- sockets-for-pcl can now also be installed via the Xamarin Component Store. Thanks @mattleibow
- special thanks to @vbisbest for helping work through issues in the prereleases
This package has no dependencies.