Advertisement
Guest User

PS1 | Klient ECHO

a guest
Mar 21st, 2017
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.66 KB | None | 0 0
  1. using System;
  2. using System.Text;
  3. using System.Net.Sockets;
  4. using System.Net;
  5.  
  6.  
  7. namespace Klient_ECHO
  8. {
  9.     class Program
  10.     {
  11.  
  12.         public static void closeConnection(Socket socket)
  13.         {
  14.             Console.WriteLine("Disconnected from server...");
  15.             socket.Shutdown(SocketShutdown.Both);
  16.             socket.Close();
  17.         }
  18.  
  19.         public static void tryConnection(Socket socket)
  20.         {
  21.            
  22.             bool tryAgain = true;
  23.             while (tryAgain)
  24.             {
  25.                 Console.Write("Which port you want to connect [7]? : ");
  26.                 string port = Console.ReadLine(); if (port == "") port = "7";
  27.                
  28.                 try
  29.                 {
  30.                     IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), int.Parse(port));
  31.                
  32.                     try
  33.                     {
  34.                         socket.Connect(ipep);
  35.                         Console.WriteLine("Connected to " + ipep.ToString());
  36.                         tryAgain = false;
  37.                     }
  38.                     catch (SocketException e)
  39.                     {
  40.                         Console.Write("Unable to connect to server, want to try with another port? [y/n]: ");
  41.                         string ca = Console.ReadLine();
  42.                         if (ca.ToLower() == "y" || ca.ToLower() == "yes") tryAgain = true;
  43.                         else tryAgain = false;
  44.                     }
  45.                 }
  46.                 catch (FormatException e)
  47.                 {
  48.                     Console.WriteLine("This is not a number, try again.");
  49.                 }
  50.  
  51.             }
  52.         }
  53.  
  54.         static void Main(string[] args)
  55.         {
  56.             byte[] data = new byte[1024];
  57.             string input, stringData;
  58.                  
  59.             Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
  60.  
  61.             tryConnection(socket);
  62.  
  63.             int recv = 0;
  64.             stringData = Encoding.ASCII.GetString(data, 0, recv);
  65.             Console.WriteLine(stringData);
  66.  
  67.             while (true)
  68.             {
  69.                 input = Console.ReadLine();
  70.  
  71.                 if (input == "close") break;
  72.                 else
  73.                 {
  74.                     socket.Send(Encoding.ASCII.GetBytes(input));
  75.                     data = new byte[1024];
  76.                     recv = socket.Receive(data);
  77.                     stringData = Encoding.ASCII.GetString(data, 0, recv);
  78.                     Console.WriteLine("Reply from server: " + stringData);
  79.                 }
  80.             }
  81.  
  82.             closeConnection(socket);
  83.         }
  84.     }
  85. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement