public void Scarlet_WS_Initialise() { /* Scarlet Metrics */ wsm = new ScarletMetrics(); wsm.Send("Scarlet Service Started. (" + ip + ")"); /* Server */ var wssv = new WebSocketServer("ws://" + scarletAgentURL + ":" + scarletAgentPort); wssv.AddWebSocketService <Link>("/"); wssv.Start(); /* Client */ ws = new WebSocket("ws://" + scarletAgentURL + ":" + scarletAgentPort); ws.Connect(); ws.OnOpen += (sender, e) => { ws.Send("Browser|Connected"); }; ws.OnMessage += (sender, e) => { // Scarlet WS API // Words = (Browser/Updater)|(IP/*)|(Command)|(Perameters) string[] words = e.Data.Split('|'); if (words[0] == "Updater") { switch (words[1]) { case ("browserConnect"): Username = words[2]; key = ScarletAPI.Request("user", "info", words[2]); if (backgroundWorker1.IsBusy == false) { ws.Send("Browser|browserConfirmation|free"); } else { ws.Send("Browser|browserConfirmation|busy"); } break; case ("startDownload"): installDirectory = words[2]; if (backgroundWorker1.IsBusy == false) { backgroundWorker1.RunWorkerAsync(); } break; case ("startVerify"): verifyOnly = true; installDirectory = words[2]; if (backgroundWorker1.IsBusy == false) { backgroundWorker1.RunWorkerAsync(); } break; case ("stopDownload"): backgroundWorker1.CancelAsync(); ws.Send("Browser|browserConfirmation|free"); break; case ("locationChange"): ChooseFolder(); break; case ("updateInstallLocation"): installDirectory = words[2]; break; case ("broadcast"): broadcast(words[3]); break; case ("fetchStatus"): pushStatusToBrowser(); break; case ("quit"): Application.Exit(); break; case ("restart"): Program.restarting = true; Application.Restart(); break; } } }; ws.OnClose += (sender, e) => { ws.Connect(); }; }
public void Scarlet_WS_Initialise() { /* Scarlet Metrics */ wsm = new ScarletMetrics(); wsm.Send("Scarlet Service Started. (" + ip + ")"); /* Server */ var wssv = new WebSocketServer("ws://" + scarletURL + ":" + scarletPort); wssv.AddWebSocketService<Link>("/"); wssv.Start(); /* Client */ ws = new WebSocket("ws://" + scarletURL + ":" + scarletPort); ws.Connect(); ws.OnOpen += (sender, e) => { ws.Send("Browser|Connected"); }; ws.OnMessage += (sender, e) => { // Scarlet WS API // Words = (Browser/Updater)|(IP/*)|(Command)|(Perameters) string[] words = e.Data.Split('|'); if (words[0] == "Updater") { switch (words[1]) { case ("browserConnect"): Username = words[2]; key = ScarletAPI.Request("user", "info", words[2]); if (backgroundWorker1.IsBusy == false) { ws.Send("Browser|browserConfirmation|free"); } else { ws.Send("Browser|browserConfirmation|busy"); } break; case ("startDownload"): installDirectory = words[2]; if (backgroundWorker1.IsBusy == false) { backgroundWorker1.RunWorkerAsync(); } break; case ("startVerify"): verifyOnly = true; installDirectory = words[2]; if (backgroundWorker1.IsBusy == false) { backgroundWorker1.RunWorkerAsync(); } break; case ("stopDownload"): backgroundWorker1.CancelAsync(); break; case ("locationChange"): /* installDirectory = words[2]; NameValueCollection postData = new NameValueCollection(); postData.Add("installDir", installDirectory); ScarletAPI.PostRequest("user", "install", key, "", postData); ws.Send("Browser|UpdateInstallLocation|" + installDirectory); */ ChooseFolder(); break; case ("updateInstallLocation"): installDirectory = words[2]; break; case ("broadcast"): broadcast(words[3]); break; case ("fetchStatus"): pushStatusToBrowser(); break; case ("quit"): Application.Exit(); break; case ("restart"): Program.restarting = true; Application.Restart(); break; } } }; ws.OnClose += (sender, e) => { ws.Connect(); }; }