Program.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.IO;
  6. using System.Net;
  7. using System.Net.Sockets;
  8. namespace Lab20ClientMultiThread
  9. {
  10. class Program
  11. {
  12. public static void Main(string[] args)
  13. {
  14. for (int i = 0; i < 5; i++)
  15. {
  16. Console.WriteLine($"\nConnection #{i}\n");
  17. Connect("127.0.0.1", $"Hello World! #{i}");
  18. }
  19. }
  20. private static void Connect(string addr, string message)
  21. {
  22. try
  23. {
  24. int port = 9999;
  25. TcpClient client = new TcpClient(addr, port);
  26. // Convert message to ASCII, then to bytes
  27. byte[] data = Encoding.ASCII.GetBytes(message);
  28. NetworkStream stream = client.GetStream();
  29. stream.Write(data, 0, data.Length);
  30. Console.WriteLine($"Sent message: \"{message}\""); ;
  31. // Server response handling
  32. data = new byte[256];
  33. string response = String.Empty;
  34. int bytes = stream.Read(data, 0, data.Length);
  35. response = Encoding.ASCII.GetString(data, 0, bytes);
  36. Console.WriteLine($"Server responded: \"{response}\"");
  37. stream.Close();
  38. client.Close();
  39. }
  40. catch (SocketException exc)
  41. {
  42. Console.WriteLine($"Socket exception: {exc}");
  43. }
  44. }
  45. }
  46. }