saransaki08 Ответов: 2

Ошибка получения данных с помощью NetworkStream.Чтение из клиентского кармана


Привет ребята,

Когда я получаю данные, отправленные из одного приложения в другое, я получаю ошибку. Одно приложение действует как сервер и отправляет данные клиенту, который подключился к серверу по определенному порту.
Я отправил некоторую информацию через clientsocket, и в то время я получил эту ошибку.

"Specified argument was out of the range of valid values.Parameter name: size"

Вот моя кодировка ...

Dim bytesFrom(10024) As Byte

networkStream.Read(bytesFrom, 0, CInt(clientSocket.ReceiveBufferSize))


клиентский карман.ReceiveBufferSize равен 505196.

Я не понимаю этой проблемы. Кто-нибудь может помочь, пожалуйста?


С уважением,

Саран.т

Manfred Rudolf Bihy

Отредактировано для орфографии и грамматики, добавлены кодовые теги, краткое название.

Manfred Rudolf Bihy

Ты уже заставил его работать?

Manfred Rudolf Bihy

Вы голосовали за 3? А если я отвечу на твой вопрос, то зачем?

2 Ответов

Рейтинг:
12

Manfred Rudolf Bihy

Проблема заключается в аргументе CInt(clientSocket.ReceiveBufferSize при вызове функции Read.
Кроме того, почему вы хотите прочитать 505196 байт в массив, который может принимать только 10024 байта, это опечатка, и вы хотели сказать, что ваш буфер bytesFrom был даже всего 1024 байта.

Объяснение:

Если размер буфера меньше, чем параметр размера NetworkStream.Read функция создается исключение ArgumentOutOfRange.

Видеть здесь: http://msdn.microsoft.com/en-us/library/system.net.sockets.networkstream.read.aspx[]

Пожалуйста, сделайте количество байтов, которые вы хотите прочитать, меньше или равным размеру вашего буфера.


Овации,


Манфред


Рейтинг:
0

Member 14885591

mesmo colocando 1024 nao funcionou


CHill60

Esta não é uma resposta! Используйте "есть вопрос или комментарий?" пункт "Фацер" comentário единой системы обмена сообщениями. Кроме, você deve в ПСО приобрести новые вещи Акви , пор фавор