All Projects → xljiulang → Networksocket

xljiulang / Networksocket

NetworkSocket是一个以中间件(middleware)扩展通讯协议,以插件(plug)扩展服务器功能的支持SSL安全传输的通讯框架;目前支持http、websocket、fast、flex策略与silverlight策略协议。

Projects that are alternatives of or similar to Networksocket

Zeus
A high performance, cross-platform Internet Communication Engine. Developed with native socket API. Aim at handling millions of concurrent connections.
Stars: ✭ 30 (-93.1%)
Mutual labels:  server, tcp, socket, client
Jstp
Fast RPC for browser and Node.js based on TCP, WebSocket, and MDSF
Stars: ✭ 132 (-69.66%)
Mutual labels:  server, tcp, socket, client
Socket
Non-blocking socket and TLS functionality for PHP based on Amp.
Stars: ✭ 122 (-71.95%)
Mutual labels:  server, tcp, socket, client
Oksocket
An blocking socket client for Android applications.
Stars: ✭ 2,359 (+442.3%)
Mutual labels:  server, tcp, socket, client
Zserver4d
ZServer4D 是一套从商业项目剥离而出的云服务器中间件,可以承载百万级的分布式负载服务,并且支持IoT及内网穿透
Stars: ✭ 199 (-54.25%)
Mutual labels:  server, tcp, socket, client
Simplenetwork
simple TCP server / client C++ linux socket
Stars: ✭ 225 (-48.28%)
Mutual labels:  server, tcp, socket, client
Tinytcpserver
A small tcp server working under Mono or .NET (4.0) and provides hooks for handling data exchange with clients (works under mono and .net). Behaviour/protocol/reaction could be specified via custom C# script.
Stars: ✭ 14 (-96.78%)
Mutual labels:  server, tcp, socket
Emodbus
Modbus library for both RTU and TCP protocols. Primarily developed on and for ESP32 MCUs.
Stars: ✭ 29 (-93.33%)
Mutual labels:  server, tcp, client
Netcat
💻 Netcat client and server modules written in pure Javascript for Node.js.
Stars: ✭ 315 (-27.59%)
Mutual labels:  tcp, socket, client
Simpletcp
Simple wrapper for TCP client and server in C# with SSL support
Stars: ✭ 99 (-77.24%)
Mutual labels:  server, tcp, client
Deta cache
缓存cache服务器
Stars: ✭ 106 (-75.63%)
Mutual labels:  server, tcp, socket
Clientserverproject
一个C-S模版,该模版由三部分的程序组成,一个服务端运行的程序,一个客户端运行的程序,还有一个公共的组件,实现了基础的账户管理功能,版本控制,软件升级,公告管理,消息群发,共享文件上传下载,批量文件传送功能。具体的操作方法见演示就行。本项目的一个目标是:提供一个基础的中小型系统的C-S框架,客户端有三种模式,无缝集成访问,winform版本,wpf版本,asp.net mvc版本,方便企业进行中小型系统的二次开发和个人学习。同时网络组件方便的支持读写三菱和西门子PLC的数据,详细见Readme
Stars: ✭ 873 (+100.69%)
Mutual labels:  server, socket, client
Bizsocket
异步socket,对一些业务场景做了支持
Stars: ✭ 469 (+7.82%)
Mutual labels:  tcp, socket, client
Simplenet
An easy-to-use, event-driven, asynchronous network application framework compiled with Java 11.
Stars: ✭ 164 (-62.3%)
Mutual labels:  server, tcp, client
Qtswissarmyknife
QSAK (Qt Swiss Army Knife) is a multi-functional, cross-platform debugging tool based on Qt.
Stars: ✭ 196 (-54.94%)
Mutual labels:  server, tcp, client
Ether.network
https://github.com/Eastrall/Sylver
Stars: ✭ 147 (-66.21%)
Mutual labels:  server, socket, client
Watsontcp
WatsonTcp is the easiest way to build TCP-based clients and servers in C#.
Stars: ✭ 209 (-51.95%)
Mutual labels:  server, tcp, client
Stick
solution of "sticking packets" for TCP network transmission
Stars: ✭ 261 (-40%)
Mutual labels:  tcp, socket
extension-networking
Library developed for OpenFL to facilitate connections between applications, using TCP sockets, and following the scheme of event-driven programming.
Stars: ✭ 29 (-93.33%)
Mutual labels:  socket, tcp
Hisocket
It is a lightweight client socket solution, you can used it in C# project or Unity3d
Stars: ✭ 275 (-36.78%)
Mutual labels:  tcp, socket
下载当前版本(Download the latest version)

程序包管理器控制台:
PM> Install-Package NetworkSocket

服务端代码
public class HomeController : HttpController
{
    [HttpGet]
    public UserInfo[] GetUsers(string name)
    {
        return new UserInfo[0];
    }
    
    [HttpGet]
    public async Task<string> AboutAsync(string name)
    {
        await Task.Delay(TimeSpan.FromSeconds(1));
        return "Http";
    }
}

public class FastService : FastApiService
{
    [Api]
    public UserInfo[] UserInfo(string name)
    {
        return new UserInfo[0];
    }
    
    [Api]
    public async Task<string> AboutAsync(string name)
    {
        await Task.Delay(TimeSpan.FromSeconds(1));
        return "Fast";
    }
}

public class JsonWebSocketService : JsonWebSocketApiService
{
    [Api]
    public UserInfo[] GetUsers(string name)
    {
        return new UserInfo[0];
    }
    
    [Api]
    public async Task<string> AboutAsync(string name)
    {
        await Task.Delay(TimeSpan.FromSeconds(1));
        return "WebSocket";
    }
}

var listener = new TcpListener();
listener.Use<HttpMiddleware>();
listener.Use<JsonWebSocketMiddleware>();
listener.Use<FastMiddleware>();            
listener.Start(1212);
客户端代码
// http js请求
$.getJSON("/Home/GetUsers",{name:"admin"},function(data){
    alert(data.length == 0)
});
$.getJSON("/Home/About",{},function(data){
    alert(data == "Http")
});

// fastClient请求
var client = new FastTcpClient();
client.Connect(IPAddress.Loopback, 1212);
var users = await client.InvokeApi<UserInfo[]>("GetUsers", "admin");
var about = await client.InvokeApi<string>("About"); // about == "Fast"

// websocket js请求
var ws = new jsonWebSocket('ws://127.0.0.1:1212/);
ws.invokeApi("GetUsers", ['admin'], function (data) {
    alert(data.length == 0)
});
ws.invokeApi("About", [], function (data) {
    alert(data == "WebSocket")
});

// websocketClient请求
var client = new JsonWebSocketClient();
await client.ConnectAsync(IPAddress.Loopback, 1212);
var users = await client.InvokeApi<UserInfo[]>("GetUsers", "admin");
var about = await client.InvokeApi<string>("About"); // about == "WebSocket"
Async Void支持

FilterAttributer提供void OnXXX(ActionContext filterContext)的重写方法,当重写为 async void OnXXX(ActionContext filterContext)之后,不影响Filter的等待流程,但是执行线程不是在异步等待执行, 而是转为同步等待执行。

欢迎入群

Q群 439800853

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].