Обращение к данным которые формируются внутри Task - C#

Узнай цену своей работы

Формулировка задачи:

Добрый день! По мотивам парсера udp из этой темы Преобразование байтового сообщения из UDP Если работа с одним потоком понятна и проста, то как работать в случае с несколькими потоками? У меня есть класс, в который организует подключение, получение байтов на основе передаваемых параметров:
    public class Interface
    {
        UdpClient _client;
        IPAddress _multiIp;
        IPEndPoint _localIp;
        public Byte[] bytes;
 
        public Interface(string IpArg, int PortArg)
        {
            _client = new UdpClient();
            _localIp = new IPEndPoint(IPAddress.Any, PortArg);
            _client.Client.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
            _client.ExclusiveAddressUse = false;
            _client.Client.Bind(_localIp);
            Debug.WriteLine(_localIp);
            _multiIp = IPAddress.Parse(IpArg);
            _client.JoinMulticastGroup(_multiIp);
            while (true)
            {
                bytes = _client.Receive(ref _localIp);
            }
        }
    }
Есть инициализатор по типу
            Task task1 = new Task(() =>
            {
                Interface udp1 = new Interface(conf_ip, conf_port);
            });
Все запускается и работает, но я не знаю как обратиться к байтам которые получает интерфейс, как я могу это сделать? И еще вопрос, как правильнее было бы организовывать несколько подключений имея класс интерфейса? Используя Task или более верные варианты?

Решение задачи: «Обращение к данным которые формируются внутри Task»

textual
Листинг программы
public UdpListener(Action<byte[]> bytesReceive, string ipAddress, int port)
{
            this.bytesReceive = bytesReceive;
            IpArg = ipAddress;
            PortArg = port;
            StartListener();
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.167 из 5
Похожие ответы