All Projects → ImVexed → Notlitecode

ImVexed / Notlitecode

Licence: unlicense
Remote Encrypted Procedure Calling for .Net & .Net Core

Projects that are alternatives of or similar to Notlitecode

Hp Socket
High Performance TCP/UDP/HTTP Communication Component
Stars: ✭ 4,420 (+27525%)
Mutual labels:  cross-platform, netcore
Xxl Rpc
A high performance, distributed RPC framework.(分布式服务框架XXL-RPC)
Stars: ✭ 493 (+2981.25%)
Mutual labels:  rpc, high-performance
Torat
ToRat is a Remote Administation tool written in Go using Tor as a transport mechanism and RPC for communication
Stars: ✭ 415 (+2493.75%)
Mutual labels:  rpc, cross-platform
Kissme
Kissme: Kotlin Secure Storage Multiplatform
Stars: ✭ 351 (+2093.75%)
Mutual labels:  cross-platform, encryption
Colfer
binary serialization format
Stars: ✭ 597 (+3631.25%)
Mutual labels:  cross-platform, high-performance
Libcopp
cross-platform coroutine library in c++
Stars: ✭ 398 (+2387.5%)
Mutual labels:  cross-platform, high-performance
Anakin
High performance Cross-platform Inference-engine, you could run Anakin on x86-cpu,arm, nv-gpu, amd-gpu,bitmain and cambricon devices.
Stars: ✭ 488 (+2950%)
Mutual labels:  cross-platform, high-performance
Tarsjava
Java language framework rpc source code implementation
Stars: ✭ 321 (+1906.25%)
Mutual labels:  rpc, high-performance
Schedulemastercore
This is a distributed task management system base on .Net Core platform .
Stars: ✭ 549 (+3331.25%)
Mutual labels:  cross-platform, netcore
Servicestack
Thoughtfully architected, obscenely fast, thoroughly enjoyable web services for all
Stars: ✭ 4,976 (+31000%)
Mutual labels:  netcore, high-performance
Hprose
HPROSE is short for High Performance Remote Object Service Engine. It's a serialize and RPC library, the serialize library of hprose is faster, smaller and more powerful than msgpack, the RPC library is faster, easier and more powerful than thrift.
Stars: ✭ 348 (+2075%)
Mutual labels:  rpc, cross-platform
Jose Jwt
Ultimate Javascript Object Signing and Encryption (JOSE) and JSON Web Token (JWT) Implementation for .NET and .NET Core
Stars: ✭ 692 (+4225%)
Mutual labels:  netcore, encryption
Windterm
A quicker and better cross-platform SSH/Sftp/Shell/Telnet/Serial client.
Stars: ✭ 345 (+2056.25%)
Mutual labels:  cross-platform, high-performance
Module Shop
一个基于 .NET Core构建的简单、跨平台、模块化的商城系统
Stars: ✭ 398 (+2387.5%)
Mutual labels:  cross-platform, netcore
Gb28181.solution
Linux/Win/Docker/kubernetes/Chart/Kustomize/GB28181/SIP/RTP/SDP/WebRTC/作为上下级域/平台级联互联
Stars: ✭ 323 (+1918.75%)
Mutual labels:  rpc, netcore
Happypandax
A cross-platform server and client application for managing and reading manga and doujinshi
Stars: ✭ 432 (+2600%)
Mutual labels:  rpc, cross-platform
Simplcommerce
A simple, cross platform, modularized ecommerce system built on .NET Core
Stars: ✭ 3,474 (+21612.5%)
Mutual labels:  cross-platform, netcore
Saea
SAEA.Socket is a high-performance IOCP framework TCP based on dotnet standard 2.0; Src contains its application test scenarios, such as websocket,rpc, redis driver, MVC WebAPI, lightweight message server, ultra large file transmission, etc. SAEA.Socket是一个高性能IOCP框架的 TCP,基于dotnet standard 2.0;Src中含有其应用测试场景,例如websocket、rpc、redis驱动、MVC WebAPI、轻量级消息服务器、超大文件传输等
Stars: ✭ 318 (+1887.5%)
Mutual labels:  rpc, high-performance
Hprose Java
Hprose is a cross-language RPC. This project is Hprose 2.0 for Java
Stars: ✭ 542 (+3287.5%)
Mutual labels:  rpc, cross-platform
Brpc Java
Java implementation for Baidu RPC, multi-protocol & high performance RPC.
Stars: ✭ 647 (+3943.75%)
Mutual labels:  rpc, high-performance

Build Status Code Factor GitHub license NuGet

NotLiteCode

A simple, hackable, remote code hosting platform.

What is?

NLC (Not Lite Code) is a simplified version of LiteCode by DragonHunter, which provides native RPC and other useful features without any external dependencies.

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 by using BinaryFormatter to serialize & deserialize objects on the fly at runtime allowing it to be loosly coupled. NLC also allows communication over SSLStream for security.

How is state handled?

NLC creates a unique instance for every client allowing you to keep stateful data alongside their functions in the SharedClass.

How is concurrency handled?

As of 1.4 NLC's networking core is now asynchronous and will invoke calls in a new Task once the data is received. Thus any synchronization must either be ensured in the client invoking the methods or inside the SharedClass functions themselves.

Sample Implementation

Server Code:

SharedClass.cs

[NLCCall("MagicNumber")]
public bool IsMagicNumber(int number)
{
  return number == 7;
}

Program.cs

server = new Server<SharedClass>();
server.Start();

Client Code:

Program.cs

public static async Task<bool> IsMagicNumber(int number) =>
      await client.RemoteCall<bool>("MagicNumber", number);
      
client = new Client();

client.Connect("localhost", 1337);

Console.WriteLine(await IsMagicNumber(-10)); // False
Console.WriteLine(await IsMagicNumber(7));   // True

Sample Outputs

Original

LiteCode by DragonHunter

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].