Из потока читаются не все данные

120
09 декабря 2019, 11:10

Вопрос следующий. Клиент пишет в поток строку байт. Сервер её принимает. Но принимает он только часть, т.е. часть байт в конце строки просто пропадает куда-то. Объект потока - NetworkStream stream = null; и NetworkStream clientStream;. Количество байт, которое пишется и читается одинаковое. В чем тут ошибка?

Функция отправки запроса (клиент):

public int SendRequest(string command, EditorForm data)
{
    ConstructRequest(command, data);
    stream.Write(Encoding.UTF8.GetBytes(request), 0, request.Length);
    return 0;
}

Функция приёма запроса (сервер):

public string RecieveRequest()
        {
            StringBuilder builder = new StringBuilder();
            byte[] buffer = new byte[64];
            int countBytes = 0;
            do
            {
                countBytes = clientStream.Read(buffer, 0, buffer.Length);
                builder.Append(Encoding.UTF8.GetString(buffer, 0, countBytes));
            }
            while (clientStream.DataAvailable);
            data = builder.ToString();
            DistructRequest();
            return data;
        }
READ ALSO
Как проверить, спит ли диск?

Как проверить, спит ли диск?

Если в Windows включено автоматическое отключение дисков при неактивности, то как программно проверить, спит диск или включен, естественно,...

133
Как запустить js по событию?

Как запустить js по событию?

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

117
Как сериализовать кастомный SOAP для OTRS

Как сериализовать кастомный SOAP для OTRS

есть WSDL схема для SOAP в OTRS, к сожалению автоматом (подключением ссылок), не получается, потому как шарп считает файл не корректнымдля нормальной...

124