Interface-Driven Contracts
Define services as C# interfaces, and WitRPC generates proxies so that calling a remote method feels like calling a local one. This provides strong typing and compile-time safety for all RPC calls.
Multiple Transports
Communicate over the channel that fits your scenario. WitRPC supports high-speed inter-process transports (Memory-Mapped files and Named Pipes) and network protocols (WebSockets and TCP).
Flexible Serialization
Choose your payload format. WitRPC works with JSON or efficient binary formats like MemoryPack, MessagePack and ProtoBuf for high performance and compact messages.
Built-in Security
Security is baked in. WitRPC uses an automatic RSA/AES key exchange to encrypt data and supports token-based authentication to control access.
Full-Duplex Communication
Connections are bi-directional. Not only can clients call server methods, but the server can also invoke callbacks on the client for real-time updates.
Service Discovery
In dynamic environments, clients can find available services on the network without hard-coded addresses, using a UDP broadcast-based discovery mechanism.