Почему клиент не хочет получать данные?

188
09 мая 2017, 02:25
        public void Listen()
    {
        for(;;)
        {
            byte[] data = new byte[55555];
            client.Receive(data);
            PlaySound(data);
        }
    }

Метод Listen запускается в отдельном потоке, должен получать данные с сервера и проигрывать их(это звук). Но вылазит исключение: Необработанное исключение типа "System.Net.Sockets.SocketException" в System.dll Дополнительные сведения: Получен недопустимый аргумент (в методе Receive)

Второй день не могу понять в чем ошибка

Answer 1

Если ваша переменная client типа UdpClient, то боюсь вы неправильно пользуетесь методом Receive. Он принимает адрес отправителя или ANY (от любого адреса) и возвращает массив байт данных. Примерно так должен выглядеть ваш код:

IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
byte[] data = client.Receive(ref RemoteIpEndPoint); 

По-хорошему добавить код получения данных в try и отлавливать нужные вам ошибки

READ ALSO
Как добавить в ListView определенные файлы

Как добавить в ListView определенные файлы

Как при помощи Button сделать возможность добавлять сразу множество файлов только формата mp3 в компонент ListView?

221
Инициализатор вложенного свойства

Инициализатор вложенного свойства

Я не понимаю это баг какой то, или разработчики языка просто забыли добавить это свойство? В интернете по этому поводу только одна тема в которой...

205
Как сохранить изображение с PictureBox

Как сохранить изображение с PictureBox

Хочу сохранить изображение с PictureBox, но постоянно сохраняется только чёрное изображение или вылетает ошибкаПодскажите в чём проблема

255
Категории через tv объекты ModxRevo

Категории через tv объекты ModxRevo

Добрый день, на сайте есть каталог, разбитый на категории с помощью папокНо каждый товар в каждой категории относится к конкретному типу

218