NotLiteCode 1.0.1
See the version list below for details.
dotnet add package NotLiteCode --version 1.0.1
NuGet\Install-Package NotLiteCode -Version 1.0.1
<PackageReference Include="NotLiteCode" Version="1.0.1" />
paket add NotLiteCode --version 1.0.1
#r "nuget: NotLiteCode, 1.0.1"
// Install NotLiteCode as a Cake Addin #addin nuget:?package=NotLiteCode&version=1.0.1 // Install NotLiteCode as a Cake Tool #tool nuget:?package=NotLiteCode&version=1.0.1
NotLiteCode
A simple, hackable, remote code hosting platform.
What is?
NLC (Not Lite Code) is a simplified version of LiteCode by DragonHunter, which allows clients to execute code on a server as if they were calling a function that was being run locally(effectively RMI(Remote Method Invokation as opposed to non-OOP RPC(Remote Procedure Call)). NLC intends to implement what was done in LiteCode but simplified and distilled down into 1 class (for the main logic atleast).
How does this differ from traditional RPC/RMI?
Traditionally RPC/RMI implements a stub interface and is tightly coupled. NLC however can function without a stub interface, and is loosly coupled. NLC also implements end to end encryption (alongside an Eliptic Curve Diffie-Hellman Handshake), DEFLATE compression, client isolation, and a stupidly simple implementation. Each client that connects to the NLC server also get's a unique instance of the SharedClass, making multi-client implementations a breeze.
Sample Implementation
Server Code:
SharedClass.cs
[NLCCall("Pinocchio")] // Our target function on the server
public string CombineTwoStringsAndReturn(string s1, string s2)
{
return "Magical server says, s1 + s2 = " + s1 + s2;
}
Program.cs
server = new Server<SharedClass>();
server.Start();
Client Code:
Program.cs
private static string CombineTwoStringsAndReturn(string s1, string s2) =>
client.RemoteCall<string>("Pinocchio", s1, s2);
client = new Client();
client.Connect("localhost", 1337);
Console.WriteLine(CombineTwoStringsAndReturn("I'm a ", "real boy!")); // Returns "Magical server says, s1 + s2 = I'm a real boy!"
Sample Outputs
<img src="http://image.prntscr.com/image/3dabba40de9643e18c2362a1e0e6f9d3.png" align="center" />
Planned Features:
- All features currently satisfied
Notes
- NLC now supports .Net Core 2.1
- NLC performance is significantly increased on .Net Core vs. .Net 4.5.2 when encryption & compression are enabled
Original
LiteCode by DragonHunter
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.1 is compatible. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Framework | net452 is compatible. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
This package has no dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on NotLiteCode:
Package | Downloads |
---|---|
NotLiteCode.Serialization.GroBuf
A GroBuf serialization provider for NotLiteCode |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.5.2 | 970 | 2/1/2019 |
1.5.1 | 779 | 1/24/2019 |
1.5.0 | 926 | 1/22/2019 |
1.4.2 | 775 | 1/21/2019 |
1.4.1 | 839 | 1/17/2019 |
1.4.0 | 865 | 1/17/2019 |
1.3.1 | 841 | 1/15/2019 |
1.3.0 | 800 | 1/6/2019 |
1.2.2 | 820 | 12/31/2018 |
1.2.1 | 818 | 12/30/2018 |
1.2.0 | 790 | 12/30/2018 |
1.1.1 | 955 | 8/5/2018 |
1.1.0 | 930 | 8/5/2018 |
1.0.4 | 927 | 8/5/2018 |
1.0.3 | 909 | 8/5/2018 |
1.0.2 | 922 | 8/5/2018 |
1.0.1 | 961 | 8/4/2018 |
1.0.0 | 902 | 8/4/2018 |