示例#1
0
 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();
 }