private void CreateServers() { //Websockets(Remote controllers) CloseServers(); RemoteServer = new WebSocketServer("ws://192.168.1.102:42069"); RemoteServer.Start(socket => { socket.OnOpen = () => CurrentRemotes.Add(socket); socket.OnClose = () => CurrentRemotes.Remove(socket); socket.OnMessage = message => { RemoteMessageReceived messageReceived = JsonConvert.DeserializeObject <RemoteMessageReceived>(message); if (int.TryParse(messageReceived.message, out int buttonID)) { AudioEngine.PlaySound(CurrentButtons[buttonID].file); } if (messageReceived.message == "stop") { AudioEngine.StopSound(); } if (messageReceived.message == "full") { SendMessageServer(socket, "full"); } if (messageReceived.message == "audio") { LocalCheck.Invoke(new MethodInvoker(() => { LocalCheck.Checked = messageReceived.data.audio.local; LocalVolumeBar.Value = messageReceived.data.audio.localVolume; LinkCheck.Checked = messageReceived.data.audio.link; OutputCheck.Checked = messageReceived.data.audio.output; OutputVolumeBar.Value = messageReceived.data.audio.outputVolume; })); } if (messageReceived.message == "layout") { LayoutSelectorComboBox.Invoke(new MethodInvoker(() => { for (int i = 0; i < LayoutSelectorComboBox.Items.Count; i++) { if (LayoutSelectorComboBox.Items[i].ToString() == messageReceived.data.layout.currentLayout) { LayoutSelectorComboBox.SelectedIndex = i; break; } } SaveLayout(); CurrentLayout = LayoutSelectorComboBox.SelectedItem.ToString(); ChangeLayout(); })); SendMessageServer(socket, "layout"); } }; }); //Webserver WebsiteServer = new WebServer(SendResponse, "http://localhost:8080/"); WebsiteServer.Run(); }