AltarNet3 (or AN3 for short) is a library that facilitate the creation of TCP servers/clients, along with UDP. TCP connections can be secured via SSL, with only a few easy steps.
It comes with a powerful FTP manager, taking advantage of .NET 4.5's new asynchronous pattern (Async/Await), featuring cancellable requests and download/upload progress monitoring.
Also comes with a 'single instance' and a 'thread safety' helper.
Install-Package AltarNet3 -Version 3.2.4
dotnet add package AltarNet3 --version 3.2.4
<PackageReference Include="AltarNet3" Version="3.2.4" />
paket add AltarNet3 --version 3.2.4
- Improved upon the TCP message framing handler, also fixed some potential issues with it;
- The recycling of TcpFragments is now actually 100%, it wasn't in the previous version;
- A TcpFragment no longer have the property IgnoreFullEvent. However, a TcpClientInfo still got ReadNextNotBuffered, as described in the previous changelog;
- Increased the default read buffer size for TCP clients and server's clients to 16KB each, up from 4KB;
- The buffer size can be set when creating a TCP client or server;
- The SendFile(Async) method of the TCP client / server actually work now. (Note to self : test with bigger files)
- Added a property to the TcpClientInfo class named ReadNextNotBuffered, which basically work like ReadNextAsLong. It set the next packet received to ignore the ReceivedFull event. Useful for file transfer and streaming.
- A TCP read timeout now properly disconnect with the fixes of 18.104.22.168.
- TcpFragments are now 100% recycled, therefore less garbage to collect.
- Fixed a few problems with disconnections;
- Added a way to disconnect via a TcpClientInfo.
- Overall improvements in sending the length of a TCP message, by taking into account the 'network to host / host to network' byte ordering;
- Added a property for a TCP server / client named IsLengthInOneFrame, which combine the usual two writes when sending a message, into one;
- The TCP event ReceiveError specifically ignore a few exceptions, which are normal occurrances;
- Very slight improvements in TCP packet handling;
- Improved the synchronization when a TCP server or client start receiving messages, so that if you send a message immediately after being connected, it won't have a chance to be ignored;
- The ThreadSafeHelper's Release method now do nothing when the key does not exist;
- Largely improved SSL support;
- Added an SSL Helper class (named SslHelper) with a method to get or create a self-signed certificate (and add it to the local cert store), in one simple line;
- Improved SendFile method for both TCP server and client, with an added asynchronous version;
- Added SendAllFile to TcpServerHandler;
- The method WriteToStreamAsync from TcpFragment is now obsolete, use WriteToStream instead.
This package has no dependencies.
This package is not used by any NuGet packages.
This package is not used by any popular GitHub repositories.