private void InitView() { Content = new StackLayout() { Padding = new Thickness(0, Device.OnPlatform(20, 0, 0), 0, 0), Children = { new ListenerBindView(11000, this) { StartListeningTapped = async i => { Debug.WriteLine("Going to listen on {0}", i); await _listener.StartListeningAsync(i, Global.DefaultCommsInterface); _canceller = new CancellationTokenSource(); return(true); }, StopListeningTapped = async() => { Debug.WriteLine("Stopping Listening"); await _listener.StopListeningAsync(); _canceller.Cancel(); } }, new MessagesView(_messagesObs, true) { SendData = async s => { var sendTasks = _clients.Select(c => SocketExtensions.WriteStringAsync(c,s)).ToList(); await Task.WhenAll(sendTasks); return(new Message { Text = s, DetailText = String.Format("Sent to {0} clients at {1}", sendTasks.Count, DateTime.Now.ToString("HH:mm:ss")) }); } } } }; }