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.
Install-Package rda.SocketsForPCL -Version 2.0.2
dotnet add package rda.SocketsForPCL --version 2.0.2
<PackageReference Include="rda.SocketsForPCL" Version="2.0.2" />
paket add rda.SocketsForPCL --version 2.0.2
#r "nuget: rda.SocketsForPCL, 2.0.2"
// Install rda.SocketsForPCL as a Cake Addin #addin nuget:?package=rda.SocketsForPCL&version=2.0.2 // Install rda.SocketsForPCL as a Cake Tool #tool nuget:?package=rda.SocketsForPCL&version=2.0.2
- 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
- Support for the iOS "Classic" API, MacOS "Classic" and MonoMac (open source) platforms has been dropped.
- 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.
- 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.
NuGet packages (15)
Showing the top 5 NuGet packages that depend on rda.SocketsForPCL:
Supports the DeviceDrive SDKs for iOS/Android in Xamarin
Useful extensions/tools/utils I keep using all over the place. Hit me up (@bscheiman) if you need help.
Cross-platform Quciblox Sdk for Xamarin iOS/Android/Forms, Xamarin.Mac/MonoMac, Windows Phone 8/8.1, Windows Store and Windows Desktop.
PCL Profile259 Websocket client. Perfect for Xamarin Forms Portable Class Library applications. Utilize's sockets-for-pcl.
AUTH TLS for the portable FTP server
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on rda.SocketsForPCL:
Samples for the Urho bindings
Cross-platform socket API for Xamarin iOS/Android/Forms, Xamarin.Mac/MonoMac, Windows Phone 8/8.1, Windows Store and Windows Desktop.