public DataWallServer_Main() { InitializeComponent(); log = new Logger(); db = new DBActions(ref log); db.InitConnection("127.0.0.1", "datawallinfo", "3306", "root", "192837465564738291yashka"); server = new Server(22876, ref log, "D:\\DataWall\\DataWall.cer", ref db); DrawActivitiesTable(ActivityType.ALL_USERS); DrawUsersList(); }
public Server(ushort Port, ref Logger logger, string certFile, ref DBActions dbase) { port = Port; log = logger; db = dbase; clients = new List <Client>(); Listener = new TcpListener(IPAddress.Any, port); Listener.Start(); log.msg("Server started at port " + port.ToString()); serverCertificate = X509Certificate.CreateFromCertFile(certFile); handle = new Thread(ClientsHandler); clients_cleaner = new Thread(CleanDead); handle.Start(); clients_cleaner.Start(); }
public Client( TcpClient client, ref Logger logger, X509Certificate serverCertificate, ref DBActions dbase) { mutex = new Mutex(); sslStream = new SslStream(client.GetStream(), false); log = logger; db = dbase; try { sslStream.AuthenticateAsServer(serverCertificate, clientCertificateRequired: false, checkCertificateRevocation: true); //sslStream.ReadTimeout = -1; //sslStream.WriteTimeout = 5000; log.msg("New client from " + IPAddress.Parse(((IPEndPoint)client.Client.RemoteEndPoint).Address.ToString()) + " connected at port " + ((IPEndPoint)client.Client.RemoteEndPoint).Port); id = ((IPEndPoint)client.Client.RemoteEndPoint).Address.ToString() + ":" + ((IPEndPoint)client.Client.RemoteEndPoint).Port.ToString(); alive = true; clientThread = new Thread(ClientHandler); clientThread.Start(); } catch (Exception exp) { log.msg("Failed to add new client with error: " + exp.Message); sslStream.Close(); client.Close(); return; } }