** Breaking Changes **
- New architecture
- Add
INetPacketStream
interface andNetPacketStream
implementation for read/write packets. - Add
NetUser
interface. Inherits fromNetConnection
. - Add
OnSocketError()
method toNetClient
. (PR #42) - Add all interfaces support to
NetServer
. (PR #42) - Add support for reading byte arrays with
INetPacketStream
. (PR #48) - Add broadcast system for
NetServer
. (PR #52) - Add
NetClientConfiguration
(PR #78) - Add
GetUser(Guid)
toINetServer
(PR #85)
NetConnection
is lighter.NetClient
inherits fromNetUser
NetClient
sending process is using a queue.NetClient
message handler process is using a queue.NetServer
inherits fromNetConnection
.- Receive algorithm review.
- Improve receive process on
NetClient
andNetServer
. - Fix disconnect process on
NetClient
.
NetPacketBase
has been removed and replaced withNetPacketStream
.
- Add support for
.NET Standard 2.0
- Add
OnError
method toNetServer
- Add array reader on
NetPacketBase
(T[] Read<T>(amount)
)
- Change sending process on
NetServer
, now uses a sending queue
- Call the
OnClientDisconnected
when theDisconnectClient(Guid id)
method is called and the connection is disposed.
- Buffer Manager
- Add the
DisconnectClient(Guid clientId)
method toNetServer
.
- Changed
ConcurrentBag
toConcurrentDictionary
for client handling.
- Add netstandard1.3 support
- Add NetServerConfiguration class. Provide properties to configuration a NetServer.
- NetServer socket management. Now using SocketAsyncEventArgs for scalability and performance.
- NetClient socket management. Now using SocketAsyncEventArgs for scalability and performance.
- Remove .NET Framework 4.6 support
- Remove .NET Framework 4.6.1 support
- Remove NetDelayer system
- Fix
NetClient
critical issues
- Add support for .NET Framework 4.5
- Add support for .NET Framework 4.5.1
- Add support for .NET Framework 4.6
- Add support for .NET Framework 4.6.1
NetClient
connect method returns abool
NetServer<T>
client list is a readonly listNetServer<T>
OnClientConnected
andOnClientDisconnected
methods takesT
as parameter.
NetServer<T>
fully managed server handlingT
connection whereT
is aNetConnection
NetClient
fully managed client.NetPacket
packet management.