public void SendResult() { IPEndPoint endpoint = new IPEndPoint(localAddr, port); TcpListener listener = new TcpListener(endpoint); //listener.Start(); Console.WriteLine(@"Started listening requests at: {0}:{1} ", endpoint.Address, endpoint.Port); while (true) { listener.Start(); string messeage = null; TcpClient sender = listener.AcceptTcpClient(); byte[] buffer = new byte[sender.ReceiveBufferSize]; Console.WriteLine("Request is accepted"); sender.GetStream().Read(buffer, 0, buffer.Length); messeage = cleanMessage(buffer); MathService ms = new MathService(); double res = ms.PerformOperation(messeage); byte[] bytes = ASCIIEncoding.ASCII.GetBytes("Your answer is " + res); sender.GetStream().Write(bytes, 0, bytes.Length); sender.Close(); listener.Stop(); } }
public void SendResult(MathService ms) { //for getting UdpClient clientget = new UdpClient(); clientget.Client.Bind(new IPEndPoint(IPAddress.Any, port)); //for sending UdpClient clientsend = new UdpClient(); clientsend.Connect(localAddr, 1000); try { IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 1); string message = String.Empty; do { var receiveBytes = clientget.Receive(ref RemoteIpEndPoint); message = Encoding.ASCII.GetString(receiveBytes); Console.WriteLine(message); string tiv1 = null; string tiv2 = null; string operator1 = null; Drop(message, ref operator1, ref tiv1, ref tiv2); ms.num1 = Convert.ToDouble(tiv1); ms.num2 = Convert.ToDouble(tiv2); string result = Convert.ToString(ms.PerformOperation(Convert.ToChar(operator1))); var sendBytes = Encoding.ASCII.GetBytes(result); clientsend.Send(sendBytes, sendBytes.Length); Console.WriteLine("worked"); }while (message != "exit"); //closing client clientget.Close(); clientsend.Close(); } catch (Exception) { Console.WriteLine("Something goes wrong...disconnected"); return; } }
public void ProcessResult() { int port = 13000; IPAddress localAddr = IPAddress.Parse("127.0.0.1"); UdpClient listener = new UdpClient(port); IPEndPoint groupEP = new IPEndPoint(localAddr, port); Socket sock = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); try { while (true) { Console.WriteLine("UDP server is waiting for broadcast... "); byte[] bytes = listener.Receive(ref groupEP); Console.WriteLine($"Received broadcast from {groupEP} :"); string data = Encoding.ASCII.GetString(bytes, 0, bytes.Length); Console.WriteLine($" {data}"); // Process the data sent by the client. MathService mathService = new MathService(); double result = mathService.PerformOperation(data); data = result.ToString(); bytes = System.Text.Encoding.ASCII.GetBytes(data); sock.SendTo(bytes, groupEP); } } catch (SocketException e) { Console.WriteLine(e); } finally { listener.Close(); } }
/// <summary> /// Sends result to the user using TCP protocol /// </summary> /// <param name="ms"></param> public void SendResult(MathService ms) { while (true) { try { TcpListener server = new TcpListener(localAddr, port); server.Start(); Console.WriteLine("Waiting for connection... "); TcpClient tcpClient = server.AcceptTcpClient(); Console.WriteLine("Client is connected,doing queary..."); //getting network stream for reading and writing NetworkStream stream = tcpClient.GetStream(); //Confirming message string response = "CONNECTED"; byte[] data1 = Encoding.UTF8.GetBytes(response); //sending message stream.Write(data1, 0, data1.Length); string messageString; do { StringBuilder message = new StringBuilder(); byte[] data = new byte[256]; int bytes = stream.Read(data, 0, data.Length); message.Append(Encoding.UTF8.GetString(data, 0, bytes)); messageString = message.ToString(); Console.WriteLine(messageString); if (messageString == "exit") { break; } else if (messageString == "other protocol") { break; } if (messageString != String.Empty) { string tiv1 = null; string tiv2 = null; string operator1 = null; Drop(messageString, ref operator1, ref tiv1, ref tiv2); ms.num1 = Convert.ToDouble(tiv1); ms.num2 = Convert.ToDouble(tiv2); double result = ms.PerformOperation(Convert.ToChar(operator1)); Console.WriteLine("Worked"); string send = Convert.ToString(result); byte[] data2 = Encoding.UTF8.GetBytes(send); stream.Write(data2, 0, data2.Length); } }while (messageString != String.Empty); stream.Close(); //closing tcpClient.Close(); server.Stop(); } catch (Exception) { Console.WriteLine("Something goes wrong...disconnected"); return; } } }
public void ProcessResult() { try { // TcpListener server = new TcpListener(port); server = new TcpListener(localAddr, port); // Start listening for client requests. server.Start(); // Buffer for reading data Byte[] bytes = new Byte[256]; String data = null; // Enter the listening loop. while (true) { Console.Write("TCP server is waiting for a connection... "); // Perform a blocking call to accept requests. TcpClient client = server.AcceptTcpClient(); Console.WriteLine("Connected!"); data = null; // Get a stream object for reading and writing NetworkStream stream = client.GetStream(); int i; // Loop to receive all the data sent by the client. while ((i = stream.Read(bytes, 0, bytes.Length)) != 0) { // Translate data bytes to a ASCII string. data = System.Text.Encoding.ASCII.GetString(bytes, 0, i); Console.WriteLine("Received: {0}", data); // Process the data sent by the client. MathService mathService = new MathService(); double result = mathService.PerformOperation(data); data = result.ToString(); byte[] msg = System.Text.Encoding.ASCII.GetBytes(data); // Send back a response. stream.Write(msg, 0, msg.Length); Console.WriteLine("Sent: {0}", data); } // Shutdown and end connection client.Close(); } } catch (SocketException e) { Console.WriteLine("SocketException: {0}", e); } finally { // Stop listening for new clients. server.Stop(); } Console.WriteLine("\nHit enter to continue..."); Console.Read(); }