static void Main(string[] args) { #region /// notification ... globalForm = new Form(); globalForm.Show(); globalForm.Hide(); #endregion if (!Directory.Exists(hostServer.pathModule)) { MessageBox.Show("Can't find: " + hostServer.pathModule); return; } hostFile.load(); //store_meter.init(); Task.Factory.StartNew(() => { hostAPI.init(); }); Task.Factory.StartNew(() => { hostServer.init(); //Type ty = Type.GetType("host.db_column, host"); //MethodInfo function = ty.GetMethod("where", BindingFlags.Static | BindingFlags.Public); //var fun = (Func<string, string, int, int, Tuple<bool, int, int, string>>)Delegate.CreateDelegate(typeof(Func<string, string, int, int, Tuple<bool, int, int, string>>), function); //var fun_rs = fun("index == 1 || index == 2", "", 1, 10); //int kx = 0; }); #region /// mmf ... mmf = new Array <p3_tsvh>(mmf_name, mmf_capicity, true); mmf_length = mmf.Length; //////mmf.eventUpdated += delegate(object sender, EventArgs e) //////{ ////// show_notification("Amin >> Update finish ..."); //////}; //////Task.Factory.StartNew(() => //////{ ////// while (true) ////// { ////// Debug.WriteLine(">> timer check 10 ms update data: " + mmf_length.ToString()); ////// using (var read = new BufferReadWrite("mmf_update")) ////// { ////// read.Read((IntPtr pr) => ////// { ////// byte[] bArray = new byte[1]; ////// Marshal.Copy(pr, bArray, 0, 1); ////// if (bArray[0] == 1) ////// { ////// var item = mmf[0]; ////// int len_v = Marshal.SizeOf(item); ////// string id = String.Format("{0:#,###.##}", item.id); ////// p3_tsvh[] rd_a = new p3_tsvh[] { item }; ////// //Mapper.CreateMap<r_item_ram, r_item_file>(); ////// //var ls = Mapper.Map<r_item_file[]>(rd_a); ////// byte[] b00 = Converter.fSerializeItem<p3_tsvh>(item); ////// p3_tsvh o00 = Converter.fDeserializeItem<p3_tsvh>(b00); ////// //Mapper.CreateMap<r_item_file, r_item_ram>(); ////// //var ls1 = Mapper.Map<r_item_ram[]>(ls); ////// Debug.WriteLine("Update data: " + id + "\n " + DateTime.Now.ToString()); ////// show_notification("has new data: " + id); ////// mmf_update.Write((IntPtr pw) => ////// { ////// bArray[0] = 0; ////// Marshal.Copy(bArray, 0, pw, 1); ////// }); ////// int len = mmf.LengthCurrent; ////// Debug.WriteLine(">> timer check 10 ms update data >> OKKK: " + len.ToString()); ////// } ////// }); ////// } ////// Thread.Sleep(1000); ////// } //////}); //using (var rw = new Array<r_item_ram>("ram_array", 10)) //{ // rw.Push(new r_item_ram("name 1")); // //rw[0] = new r_item { c0 = 3, key = "My Test Name" }; // using (var rd = new Array<r_item_ram>("ram_array")) // { // r_item_ram a0 = rd[0]; // r_item_ram a1 = rd[1]; // r_item_ram a4 = rd[4]; // //Console.WriteLine("\n\nFinish ...."); // //Console.ReadKey(); // while (true) // { // Thread.Sleep(10); // } // } //} #endregion #region /// web_socket ... Task.Factory.StartNew(() => { string url = "ws://" + hostServer.IP_NAT + ":" + hostUser.page_Signal.Split(':')[1]; FleckLog.Level = LogLevel.Debug; var server = new WebSocketServer(url); //var server = new WebSocketServer("ws://192.168.1.38:9704"); //var server = new WebSocketServer("ws://0.0.0.0:8181"); try { server.Start(socket => { socket.OnOpen = () => { //Console.WriteLine("Open!"); allSockets.Add(socket); }; socket.OnClose = () => { //Console.WriteLine("Close!"); allSockets.Remove(socket); }; socket.OnMessage = message => { msg.ProcessMessage(socket, message); //Console.WriteLine(message); //allSockets.ToList().ForEach(s => s.Send("Echo: tiếng việt // " + message)); }; }); } catch (Exception ex) { string mes = ex.Message; string yyMMddHHmm = DateTime.Now.ToString("yyMMddHHmm"); writeErrorLogs(yyMMddHHmm, ex.Message + "\n" + ex.Source); } main.show_notification(url); }); #endregion fmain = new fMain(); fmain.Show(); //fmain.Hide(); Application.ApplicationExit += (sender, e) => { mmf.Close(); }; Application.Run(new fSystemTray()); //Application.Run(new fSysConfig()); }
static void Main(string[] args) { Process currentProcess = Process.GetCurrentProcess(); processCurrent_PID = currentProcess.Id; #region // notification ... globalForm = new Form(); globalForm.Show(); globalForm.Hide(); #endregion if (File.Exists(pathRoot + "config.mmf")) { try { config = hostFile.read_MMF <m_sys_config>(pathRoot + "config.mmf"); } catch { } } if (string.IsNullOrEmpty(config.path_db)) { Application.Run(new fSysConfig(true)); } else { if (!Directory.Exists(main.config.path_module)) { main.show_notification("Can not find path module: " + main.config.path_module); Application.Run(new fSysConfig(true)); } else { Domain = config.site_domain.ToLower(); pathDB = config.path_db.ToLower(); pathModule = config.path_module.ToLower(); pathSite = config.path_site.ToLower(); pathSite_Ext = config.site_Ext.ToLower(); page_Socket = "http://" + config.socket_ip + ":" + config.socket_port.ToString(); page_Login = "******" + config.login_ip + ":" + config.login_port.ToString(); page_Site = "http://" + config.site_ip + ":" + config.site_port.ToString(); page_Site = "http://" + config.site_ip + ":" + config.site_port.ToString(); page_Site_Main = page_Site + "/" + config.site_path_main + "." + pathSite_Ext; //------------------------------------------------------------------------------------------ //db_user.load(); //httpCache.init(); webServer.init(); pipeServer.init(processCurrent_PID); show_notification("PID: " + processCurrent_PID.ToString()); //------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------ fmain = new fMain(); Application.Run(fmain); } } //end if has config }