Introduction¶
The easiest way to think about Nalix is:
Nalix.Networkruns the server sideNalix.SDKruns the client side- both sides share packet contracts and metadata through
Nalix.CommonandNalix.Shared
What stays shared¶
Across the stack, Nalix tries to keep these pieces aligned:
- packet types and opcodes
- middleware-related metadata
- configuration-driven runtime options
- logging and service registration patterns
That is why a typical setup registers shared services early:
Minimal example¶
InstanceManager.Instance.Register<ILogger>(logger);
InstanceManager.Instance.Register<IPacketRegistry>(packetRegistry);
Server mental model¶
A server usually looks like this:
- load
NetworkSocketOptions,DispatchOptions, and related options - register
ILoggerandIPacketRegistry - build
PacketDispatchChannel - create a
Protocol - start
TcpListenerBaseorUdpListenerBase
Client mental model¶
A client usually looks like this:
- load or create
TransportOptions - create
TcpSessionorIoTTcpSession - connect
- perform handshake or control flow if needed
- use
RequestAsync,PingAsync, or direct send helpers
Recommended first reading¶
Version note¶
Latest verified stable package version on 2026-03-24:
Nalix.Network:11.8.0Nalix.SDK:11.8.0