NetworkSocket-master
所属分类:TCP/IP协议栈
开发工具:C#
文件大小:1263KB
下载次数:0
上传日期:2018-07-13 03:10:29
上 传 者:
Nakata11
说明: NetworkSocket is a communication framework that supports SSL secure transmission with middleware extension communication protocol and plug-in extension server function. Currently supports http, websocket, fast, flex policy and silverlight policy protocol.
文件列表:
NetworkSocket.sln (5475, 2018-02-03)
NetworkSocket.userprefs (925, 2018-02-03)
NetworkSocket (0, 2018-02-03)
NetworkSocket\ByteBits.cs (6158, 2018-02-03)
NetworkSocket\Core (0, 2018-02-03)
NetworkSocket\Core\ApiAction.cs (6805, 2018-02-03)
NetworkSocket\Core\ApiAttribute.cs (859, 2018-02-03)
NetworkSocket\Core\ApiParameter.cs (1681, 2018-02-03)
NetworkSocket\Core\ApiResult.cs (2544, 2018-02-03)
NetworkSocket\Core\FilterAttribute.cs (3481, 2018-02-03)
NetworkSocket\Core\IActionContext.cs (280, 2018-02-03)
NetworkSocket\Core\IApiResult.cs (660, 2018-02-03)
NetworkSocket\Core\ICloneable.cs (369, 2018-02-03)
NetworkSocket\Core\IDependencyResolver.cs (695, 2018-02-03)
NetworkSocket\Core\IDependencyResolverSupportable.cs (353, 2018-02-03)
NetworkSocket\Core\IDynamicJsonSerializer.cs (1322, 2018-02-03)
NetworkSocket\Core\IExceptionContext.cs (504, 2018-02-03)
NetworkSocket\Core\IFilter.cs (1110, 2018-02-03)
NetworkSocket\Core\IFilterAttributeProvider.cs (493, 2018-02-03)
NetworkSocket\Core\IFilterSupportable.cs (500, 2018-02-03)
NetworkSocket\Core\IGlobalFilters.cs (996, 2018-02-03)
NetworkSocket\Core\ISerializer.cs (947, 2018-02-03)
NetworkSocket\Core\Internal (0, 2018-02-03)
NetworkSocket\Core\Internal\ApiActionTable.cs (2691, 2018-02-03)
NetworkSocket\Core\Internal\DefaultDependencyResolver.cs (844, 2018-02-03)
NetworkSocket\Core\Internal\DefaultDynamicJsonSerializer.cs (3587, 2018-02-03)
NetworkSocket\Core\Internal\DefaultFilterAttributeProvider.cs (4550, 2018-02-03)
NetworkSocket\Core\Internal\DefaultSerializer.cs (1706, 2018-02-03)
NetworkSocket\Core\Internal\DomainAssembly.cs (853, 2018-02-03)
NetworkSocket\Core\Internal\GlobalFiltersBase.cs (3672, 2018-02-03)
NetworkSocket\Core\Internal\PacketIdProvider.cs (538, 2018-02-03)
NetworkSocket\Core\NotNullAttribute.cs (748, 2018-02-03)
NetworkSocket\Core\ParameterFilterAttribute.cs (1765, 2018-02-03)
NetworkSocket\Endians.cs (328, 2018-02-03)
NetworkSocket\Exceptions (0, 2018-02-03)
NetworkSocket\Exceptions\ApiExecuteException.cs (714, 2018-02-03)
NetworkSocket\Exceptions\ApiNotExistException.cs (717, 2018-02-03)
... ...
##### 下载当前版本(Download the latest version)
程序包管理器控制台:
PM> `Install-Package NetworkSocket`
##### 服务端代码
```c#
public class HomeController : HttpController
{
[HttpGet]
public UserInfo[] GetUsers(string name)
{
return new UserInfo[0];
}
[HttpGet]
public async Task 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 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 AboutAsync(string name)
{
await Task.Delay(TimeSpan.FromSeconds(1));
return "WebSocket";
}
}
var listener = new TcpListener();
listener.Use();
listener.Use();
listener.Use();
listener.Start(1212);
```
##### 客户端代码
```c#
// 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群 43***00853
近期下载者:
相关文件:
收藏者: