public static WebSocketRPCRoute GetOrAddRoute <T>(int port, string hubPath) where T : WebSocketRPCProxy, new() { lock (_lock) { var server = GetOrAddServer(port); var route = port.ToString() + hubPath; for (int i = 0; i < routes.Count; i++) { if (routes[i].Route == route) { return(routes[i]); } } var hub = server.AddWebSocketService <T>(hubPath); var ws_route = new WebSocketRPCRoute(port, hubPath, hub.Sessions); routes.Add(ws_route); return(ws_route); } }
protected override void OnOpen() => route = WebSocketRPCRouter.GetOrAddRoute <WebSocketRPCProxy>(Context.RequestUri.Port, Context.RequestUri.LocalPath);