public bool Start() { if (!Directory.Exists(Globals.AppData)) { Directory.CreateDirectory(Globals.AppData); } appServer.NewSessionConnected += AppServer_NewSessionConnected; appServer.SessionClosed += AppServer_SessionClosed; appServer.NewMessageReceived += AppServer_NewMessageReceived; PacketDelegator.Init(); if (!appServer.Setup(2012)) { return(false); } if (!appServer.Start()) { return(false); } Console.WriteLine("WebSockets setup finished"); bool newdatabase = false; string sqlitefile = Path.Combine(Globals.AppData, "Database.sqlite3"); if (!File.Exists(sqlitefile)) { newdatabase = true; } var stringbuilder = new SQLiteConnectionStringBuilder { DataSource = sqlitefile }; dbConnection = new SQLiteConnection(stringbuilder.ConnectionString).OpenAndReturn(); if (newdatabase) { new DatabaseCreator().CreateDatabase(dbConnection); } return(true); }
private void AppServer_NewMessageReceived(WebSocketSession session, string value) { Console.WriteLine("New packet received"); var reply = ""; try { reply = new PacketDelegator().DelegateMessage(this, value); } catch (DelegatorException ex) { Console.WriteLine(ex); Console.WriteLine("Packet:"); Console.WriteLine(value); } if (!string.IsNullOrEmpty(reply)) { session.Send(reply); } }