kiraventom

сокеты

Mar 10th, 2021 (edited)
747
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.90 KB | None | 0 0
  1. using System;
  2. using System.Text;
  3. using System.Net;
  4. using System.Net.Sockets;
  5.  
  6. namespace SocketTcpClient
  7. {
  8.     class Program
  9.     {
  10.         // адрес и порт сервера, к которому будем подключаться
  11.         static int port = 8005; // порт сервера
  12.         static string address = "127.0.0.1"; // адрес сервера
  13.         static void Main(string[] args)
  14.         {
  15.             try
  16.             {
  17.                 IPEndPoint ipPoint = new IPEndPoint(IPAddress.Parse(address), port);
  18.  
  19.                 Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
  20.                 // подключаемся к удаленному хосту
  21.                 socket.Connect(ipPoint);
  22.                 Console.Write("Введите сообщение:");
  23.                 string message = Console.ReadLine();
  24.                 byte[] data = Encoding.Unicode.GetBytes(message);
  25.                 socket.Send(data);
  26.  
  27.                 // получаем ответ
  28.                 data = new byte[256]; // буфер для ответа
  29.                 StringBuilder builder = new StringBuilder();
  30.                 int bytes = 0; // количество полученных байт
  31.  
  32.                 do
  33.                 {
  34.                     bytes = socket.Receive(data, data.Length, 0);
  35.                     builder.Append(Encoding.Unicode.GetString(data, 0, bytes));
  36.                 }
  37.                 while (socket.Available > 0);
  38.                 Console.WriteLine("ответ сервера: " + builder.ToString());
  39.  
  40.                 // закрываем сокет
  41.                 socket.Shutdown(SocketShutdown.Both);
  42.                 socket.Close();
  43.             }
  44.             catch(Exception ex)
  45.             {
  46.                 Console.WriteLine(ex.Message);
  47.             }
  48.             Console.Read();
  49.         }
  50.     }
  51. }
Advertisement
Add Comment
Please, Sign In to add comment