gowhy / NetworkSocket

这是一个通讯服务和协议完全分离的框架,单端口允许多种通讯协议并存,除了内置的Http、WebSocket、Flex策略和Fast中间件,开发者还可以开发自己的中间件并安装到通讯服务。

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

下载当前版本

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

服务端代码
public class HomeController : HttpController
{
    [HttpPost]
    public ActionResult Index(User user, bool fAdmin = false)
    {
        return Json(new { state = true });
    }
}

public class FastMathService : FastApiService
{
    [Api]
    public int GetSum(int x, int y, int z)
    {
        return x + y + z;
    }
}

public class WebSocketSystemService : JsonWebSocketApiService
{
    [Api]
    public UserInfo[] SearchUsers(string name)
    {
        return new UserInfo[0];
    }
}

var listener = new TcpListener();
listener.Use<HttpMiddleware>();
listener.Use<JsonWebSocketMiddleware>();
listener.Use<FastMiddleware>();            
listener.Start(1212);
客户端代码
// 浏览器请求
$.post("/home/index",{account:"admin",password:"123456",fAdmin:true});
// fastClient请求
var client = new FastTcpClient();
client.Connect(IPAddress.Loopback, 1212);
var sum = client.InvokeApi<Int32>("GetSum", 1, 2, 3).Result;
// websocket客户端请求
var ws = new jsonWebSocket('ws://127.0.0.1:1212/);
ws.invokeApi("SearchUsers", ['张三'], function (data) {
    alert(data.length == 0)
});
欢迎入群

Q群 439800853

About

这是一个通讯服务和协议完全分离的框架,单端口允许多种通讯协议并存,除了内置的Http、WebSocket、Flex策略和Fast中间件,开发者还可以开发自己的中间件并安装到通讯服务。


Languages

Language:C# 92.6%Language:JavaScript 7.4%