Rony.Net 0.1.0

There is a newer version of this package available.
See the version list below for details.
Install-Package Rony.Net -Version 0.1.0
dotnet add package Rony.Net --version 0.1.0
<PackageReference Include="Rony.Net" Version="0.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Rony.Net --version 0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Rony.Net, 0.1.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Rony.Net as a Cake Addin
#addin nuget:?package=Rony.Net&version=0.1.0

// Install Rony.Net as a Cake Tool
#tool nuget:?package=Rony.Net&version=0.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.


A simple TCP/UDP server for using in test projects which test .net core based projects.


When I was working on Cimon.Net project, I realized that I can't mock sockets with existed libraries, So I changed my project to create fake sockets. But the problem still existed, So I start to write this project and after while I used it in Cimon.Net.


You can install Rony.Net with NuGet Package Manager Console:

Install-Package Rony.Net

Or via the .NET Core command-line interface:

dotnet add package Rony.Net


With Rony.Net you can create 3 types of Server :

  • TCP Server
  • TCP Server with SSL/TLS support
  • UDP Server

You can create and run mock servers as below. Port, IP and other settings are configurable via constructors :

using var tcpServer = new MockServer(new TcpServer(3000));
using var tcpSslServer = new MockServer(new TcpServerSsl(4000, certificateName, SslProtocols.None));
using var udpServer = new MockServer(new UdpServer(5000));

Please pay attention that UDP server does not need to start, because of its nature.

Then you can use a normal client to connect and sending request to them, just like below :

using var client = new TcpClient();
await client.ConnectAsync(IPAddress.Parse(""), 3000);
var client = new UdpClient();
client.Connect(IPAddress.Parse(""), 5000);

You can use server.Mock to manage Send/Receive data, then server will return configured data, based on sent data:

mockServer.Mock.Send("Test String").Receive("Test Response");
mockServer.Mock.Send(new byte[] { 1, 2, 3 }).Receive(new byte[] { 3, 2, 1 });
mockServer.Mock.Send("abcd").Receive(x=> x.ToUpper());

You can use mockServer.Mock either before or after mockServer.Run(). For more details please check Test projects.


You need at least Visual Studio 2019 (you can download the Community Edition for free).

Running the tests

All tests uses Xunit, for running TCP server with SSL/TLS, you should change _certificateName field to a certificate name on your machine. Please pay attention that you should have read permission on private key of certificate.

  • .NETCoreApp 3.1

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.1.2 253 1/2/2021
0.1.1 261 1/2/2021
0.1.0 300 12/31/2020

First release including TCP Server, TCP Server with SSL/TLS support & UDP Server