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 126.96.36.199.
- 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 popular GitHub repositories.