什么WebSockets添加到原始TCP连接?我为什么要使用WebSockets?
我想听听利弊和专业人士的喜欢:
我将只有Flash客户端,不需要支持Javascript客户端.
自托管应用程序似乎没有运行IIS,因此它需要特定的操作系统才能在服务器端启用Web套接字?
我试图了解WebSocketAccept实际上做了什么.我知道WebSocketAccept是:
using WebSocketAccept =
Action
<
IDictionary<string, object>, // WebSocket Accept parameters
Func // WebSocketFunc callback
<
IDictionary<string, object>, // WebSocket environment
Task // Complete
>
>;
Run Code Online (Sandbox Code Playgroud)
并以这种方式使用:
public void Configuration(IAppBuilder app)
{
app.Use(UpgradeToWebSockets);
app.UseWelcomePage();
}
// Run once per request
private Task UpgradeToWebSockets(IOwinContext context, Func<Task> next)
{
WebSocketAccept accept = context.Get<WebSocketAccept>("websocket.Accept");
if (accept == null)
{
// Not a websocket request
return next();
}
accept(null, WebSocketEcho);
return Task.FromResult<object>(null);
}
Run Code Online (Sandbox Code Playgroud)
那么accept()实际上是做什么的?它是否调用了WebSocketAccept的Func <>属性并定义了WebSocketEcho方法?WebSocketEcho定义为:
private async Task …Run Code Online (Sandbox Code Playgroud)