public static SzerverKontroller Instance() { if (instance == null) { //Console.WriteLine("létrehozzaa"); instance = new SzerverKontroller(); } return(instance); }
private async Task Process(TcpClient tcpClient) { Dolgozo user = null; string clientEndPoint = tcpClient.Client.RemoteEndPoint.ToString(); Console.WriteLine("Received connection request from " + clientEndPoint); try { NetworkStream networkStream = tcpClient.GetStream(); StreamReader reader = new StreamReader(networkStream); StreamWriter writer = new StreamWriter(networkStream); writer.AutoFlush = true; JavaScriptSerializer serializer = new JavaScriptSerializer(); while (true) { string requestStr = await reader.ReadLineAsync(); if (requestStr != null) { //Console.WriteLine(i); CommObject request = serializer.Deserialize <CommObject>(requestStr); Console.WriteLine("Received service request: " + request); SzerverKontroller szerverKontroller = SzerverKontroller.Instance(); CommObject response = szerverKontroller.Valasz(request, ref user); //Console.WriteLine("Computed response is: " + response + "\n"); await writer.WriteLineAsync(serializer.Serialize(response)); } else { Console.WriteLine("Connection closed, client: " + clientEndPoint); break; // Client closed connection } } tcpClient.Close(); } catch (Exception ex) { if (tcpClient.Connected) { tcpClient.Close(); } Console.WriteLine("Error connection closed, client: " + clientEndPoint); Console.WriteLine(ex.Message); } }