/// <summary> /// Service constructor /// </summary> public ImageService() { try { //read params from app config eventLog1 = new System.Diagnostics.EventLog(); eventLog1.Source = ConfigurationManager.AppSettings.Get("SourceName"); eventLog1.Log = ConfigurationManager.AppSettings.Get("LogName"); //initialize members this.logging = new LoggingService(this.eventLog1); this.logging.MessageRecieved += WriteMessage; string output = ConfigurationManager.AppSettings.Get("OutputDir"); int thumbSize = Int32.Parse(ConfigurationManager.AppSettings.Get("ThumbnailSize")); this.modal = new ImageServiceModal(output, thumbSize); this.controller = new ImageController(this.modal, this.logging); this.m_imageServer = new ImageServer(controller, logging); this.controller.Server = m_imageServer; int port = 8000; IClientHandler handler = new ClientHandler(controller, logging); ServiceServer = new ServiceServer(logging, handler, port); ImageServer.UpdateOnRemovingHandler += ServiceServer.Update; this.logging.UpdateLogItems += ServiceServer.Update; ServiceServer.StartServer(); //TCP server starting ITCPClientHandler tcpHandler = new TCPClientHandler(controller, logging); ITCPServer tcpServer = new TCPServer(7000, logging, tcpHandler); tcpServer.StartServer(); } catch (Exception e) { this.eventLog1.WriteEntry(e.Message, EventLogEntryType.Error); } }
public void Do(TCPClientHandler handler) { this.server.Start(); while (true) { try { handler(this.server.AcceptTcpClient()); } catch { Console.WriteLine(":("); } } }