Need help with NetworkSocket?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.
xljiulang

Description

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

429 Stars 226 Forks 562 Commits 5 Opened issues

Services available

Need anything else?

下载当前版本(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(); listener.Use(); listener.Use();
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("GetUsers", "admin"); var about = await client.InvokeApi("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("GetUsers", "admin"); var about = await client.InvokeApi("About"); // about == "WebSocket"

Async Void支持

FilterAttributer提供void OnXXX(ActionContext filterContext)的重写方法,当重写为

async
void OnXXX(ActionContext filterContext)之后,不影响Filter的等待流程,但是执行线程不是在异步等待执行, 而是转为同步等待执行。
欢迎入群

Q群 439800853

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.