Advertisement
Guest User

Untitled

a guest
May 22nd, 2019
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.36 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using System.Net;
  11. using System.Net.Sockets;
  12. using System.Threading;
  13.  
  14. namespace лаба_6_7__клиент_сервер_
  15. {
  16.     public partial class Form1 : Form
  17.     {
  18.         static string remoteAddress; // хост для отправки данных
  19.         static int remotePort; // порт для отправки данных
  20.         static int localPort; // локальный порт для прослушивания входящих подключений
  21.  
  22.         private void Start()
  23.         {
  24.             listBox1.Items.Add("Пошла жара"); // локальный порт
  25.             localPort = Int32.Parse(textBox1.Text);
  26.             remoteAddress = textBox2.Text; // адрес, к которому мы подключаемся
  27.             remotePort = Int32.Parse(textBox3.Text); // порт, к которому мы подключаемся
  28.             listBox1.Items.Add("Взяли данные");
  29.             ReceiveMessage();
  30.             listBox1.Items.Add("Ресив есть");
  31.         }
  32.  
  33.         public Form1()
  34.         {
  35.             InitializeComponent();
  36.         }
  37.  
  38.         private void SendMessage()
  39.         {
  40.             UdpClient sender = new UdpClient(); // создаем UdpClient для отправки сообщений
  41.             try
  42.             {
  43.                 string message = textBox4.Text; // сообщение для отправки
  44.                 byte[] data = Encoding.Unicode.GetBytes(message);
  45.                 sender.Send(data, data.Length, remoteAddress, remotePort); // отправка
  46.  
  47.             }
  48.             catch (Exception ex)
  49.             {
  50.                 listBox1.Items.Add(ex.Message);
  51.             }
  52.             finally
  53.             {
  54.                 sender.Close();
  55.             }
  56.         }
  57.  
  58.         async private void ReceiveMessage()
  59.         {
  60.  
  61.             UdpClient receiver = null; // UdpClient для получения данных
  62.             //IPEndPoint remoteIp = null; // адрес входящего подключения
  63.             try
  64.             {
  65.                 while (true)
  66.                 {
  67.                     receiver = new UdpClient(localPort);
  68.                     var a = await receiver.ReceiveAsync(); // получаем данные
  69.                     byte[] data = a.Buffer;
  70.                     string message = Encoding.Unicode.GetString(data);
  71.                     listBox1.Items.Add($"Собеседник: {message}");
  72.                 }
  73.             }
  74.             catch (Exception ex)
  75.             {
  76.                 listBox1.Items.Add(ex.Message);
  77.             }
  78.             finally
  79.             {
  80.                 if (receiver != null)
  81.                     receiver.Close();
  82.             }
  83.         }
  84.         private void button1_Click(object sender, EventArgs e)
  85.         {
  86.             try
  87.             {
  88.                 SendMessage(); // отправляем сообщение
  89.             }
  90.             catch (Exception ex)
  91.             {
  92.                 listBox1.Items.Add(ex.Message);
  93.             }
  94.         }
  95.  
  96.         private void button2_Click(object sender, EventArgs e)
  97.         {
  98.             Start();
  99.         }
  100.     }
  101. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement