public static void Main(string[] args) { var wssv = new WebSocketService(81, false); wssv.Start(); Console.WriteLine("\nPress Enter key to exit..."); Console.ReadLine(); wssv.Stop(); }
public static void Start(WebSocketService websocketService) { //check if already started if (_messagesTask != null) { return; } _websocketService = websocketService; _src = new CancellationTokenSource(); var token = _src.Token; _messagesTask = new Task(() => { var task = DoMessages(token); try { task.Wait(); } catch (AggregateException ex) { ex.Handle((err) => { return(err is System.OperationCanceledException); }); } lock (_lockObj) { _clients.Clear(); _messagesTask = null; _websocketService = null; _src = null; } }, token, TaskCreationOptions.LongRunning); _messagesTask.Start(); }
public static void Start(WebSocketService websocketService) { //check if already started if (_messagesTask != null) return; _websocketService = websocketService; _src = new CancellationTokenSource(); var token = _src.Token; _messagesTask = new Task(() => { var task = DoMessages(token); try { task.Wait(); } catch(AggregateException ex) { ex.Handle((err) => { return (err is System.OperationCanceledException); }); } lock (_lockObj) { _clients.Clear(); _messagesTask = null; _websocketService = null; _src = null; } }, token, TaskCreationOptions.LongRunning); _messagesTask.Start(); }