/// <summary> /// Обработчик сообщения от клиента /// </summary> /// <param name="obj">Состояние клиента</param> private void RequestWorker(Object obj) { ClientState state = obj as ClientState; string action = state.CurrentContext.Request.QueryString["action"]; if (!NotificationManager.Instance.CheckClient(state)) { NotificationManager.Instance.RegisterClient(state); state.CompleteRequest(); return; } switch (action) { case "unregister": state.CompleteRequest(); break; case "demandNotifications": string result = NotificationManager.Instance.GetContent(state); state.CurrentContext.Response.Write(result); state.CompleteRequest(); break; default: Debug.WriteLine("Unexpected action type in NotificationsHandler: {0}", action); break; } }
/// <summary> /// Обработчик сообщения от клиента /// </summary> /// <param name="obj">Состояние клиента</param> private void RequestWorker(Object obj) { ClientState state = obj as ClientState; string command = state.CurrentContext.Request.QueryString["cmd"]; if (state.User == null) { state.CompleteRequest(); return; } Longpool.Instance.RegisterClient(state); switch (command) { case "unregister": Longpool.Instance.UnregisterClient(state); state.CompleteRequest(); break; case "MatchConfirmation": MatchConfirmation(state.User, null); break; case "FindMatch": Longpool.Instance.RegisterClient(state); NewSearcher(state.User, null); //state.CompleteRequest(); break; default: break; } }