static void Main() { var settings = ConfigurationManager.AppSettings; var port = settings["COM_PORT"]; var speed = Convert.ToInt32(settings["COM_SPEED"]); var tcpPort = Convert.ToInt32(settings["TCP_PORT"]); var httpPort = Convert.ToInt32(settings["HTTP_PORT"]); var cncAddr = Convert.ToByte(settings["CNC_ADDR"]); SerialPort = new SerialAddressedManager(port, speed); SerialPort.DeviceAddr = cncAddr; //SerialPort.Connect(); HttpServer = new SmallHttpServer(httpPort); HttpServer.Start(); TcpServer = new HardwareTcpServer(tcpPort); TcpServer.Start(); CncController.Init(SerialPort, Application.StartupPath, cncAddr); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new fmMain()); HttpServer.Close(); TcpServer.Close(); SerialPort.Close(); CncController.Close(); }
static int Main(string[] args) { Console.BufferHeight = 10000; Console.BufferWidth = 110; Console.WindowWidth = 110; Console.WindowHeight = 60; var reader = new StreamReader("Config.js"); var cfgFile = reader.ReadToEnd(); reader.Close(); serverInfo = JsonConvert.DeserializeObject<ServerInfo>(cfgFile); serverInfo.Started = DateTime.Now; var callbackClients = serverInfo.CallbackClients; ComPortConfigs = new List<SerialConfig>(); foreach (var cfg in serverInfo.Configs) { var config = AddPort(cfg, cfg.AutoConnect); } Log("HTTP: " + serverInfo.HttpInterface); httpServer = new SmallHttpServer(serverInfo.HttpPort); httpServer.OnConnect += httpServer_OnConnect; httpServer.OnData += httpServer_OnData; httpServer.Start(); Log("WEB-SOCKET: " + serverInfo.SocketInterface); socketServer = new WebSocketServer(); socketServer.Setup(serverInfo.SocketPort); socketServer.NewMessageReceived += socketServer_NewMessageReceived; socketServer.SessionClosed += socketServer_SessionClosed; socketServer.NewSessionConnected += socketServer_NewSessionConnected; socketServer.Start(); /* serial = new UART.Serial(comPort, comPortSpeed); Log("COM: " + comPort + " " + comPortSpeed); serial.OnReceive += serial_OnReceive; serial.OnError += serial_OnError; serial.OnStateChange += serial_OnStateChange; serial.Connect(); */ tcpService = new SmallTcpService(); tcpService.OnData += tcpService_OnData; tcpService.OnClientState += tcpService_OnClientState; tcpService.Start(callbackClients.ToArray()); //CallbackHeartBeatTimer = new Timer( Thread.CurrentThread.Join(); foreach (var serial in Serials) { if (serial.Value != null) { serial.Value.Close(); } } httpServer.Close(); socketServer.Stop(); tcpService.Close(); return 0; }