Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using System.Net;
- using System.Net.Sockets;
- using System.Threading;
- namespace лаба_6_7__клиент_сервер_
- {
- public partial class Form1 : Form
- {
- static string remoteAddress; // хост для отправки данных
- static int remotePort; // порт для отправки данных
- static int localPort; // локальный порт для прослушивания входящих подключений
- private void Start()
- {
- listBox1.Items.Add("Пошла жара"); // локальный порт
- localPort = Int32.Parse(textBox1.Text);
- remoteAddress = textBox2.Text; // адрес, к которому мы подключаемся
- remotePort = Int32.Parse(textBox3.Text); // порт, к которому мы подключаемся
- listBox1.Items.Add("Взяли данные");
- ReceiveMessage();
- listBox1.Items.Add("Ресив есть");
- }
- public Form1()
- {
- InitializeComponent();
- }
- private void SendMessage()
- {
- UdpClient sender = new UdpClient(); // создаем UdpClient для отправки сообщений
- try
- {
- string message = textBox4.Text; // сообщение для отправки
- byte[] data = Encoding.Unicode.GetBytes(message);
- sender.Send(data, data.Length, remoteAddress, remotePort); // отправка
- }
- catch (Exception ex)
- {
- listBox1.Items.Add(ex.Message);
- }
- finally
- {
- sender.Close();
- }
- }
- async private void ReceiveMessage()
- {
- UdpClient receiver = null; // UdpClient для получения данных
- //IPEndPoint remoteIp = null; // адрес входящего подключения
- try
- {
- while (true)
- {
- receiver = new UdpClient(localPort);
- var a = await receiver.ReceiveAsync(); // получаем данные
- byte[] data = a.Buffer;
- string message = Encoding.Unicode.GetString(data);
- listBox1.Items.Add($"Собеседник: {message}");
- }
- }
- catch (Exception ex)
- {
- listBox1.Items.Add(ex.Message);
- }
- finally
- {
- if (receiver != null)
- receiver.Close();
- }
- }
- private void button1_Click(object sender, EventArgs e)
- {
- try
- {
- SendMessage(); // отправляем сообщение
- }
- catch (Exception ex)
- {
- listBox1.Items.Add(ex.Message);
- }
- }
- private void button2_Click(object sender, EventArgs e)
- {
- Start();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement