NetworkStream.DataAvailable работает не так как нужно! - C#

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

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

Листинг программы
  1. try
  2. {
  3. byte[] bytes = new byte[Settings.PARTSIZE];
  4. int i = 0;
  5. do
  6. {
  7. byte[] bytes1 = new byte[Settings.PARTSIZE];
  8. int c = stream.Read(bytes1, 0, bytes1.Length);
  9. for (int j = 0; j < c && i < bytes.Length; j++, i++)
  10. {
  11. bytes[i] = bytes1[j];
  12. }
  13. if (i == bytes.Length) break;
  14. }
  15. while (stream.DataAvailable);
  16. byte[] bytes2 = new byte[i];
  17. Array.Copy(bytes, bytes2, bytes2.Length);
  18. return bytes2;
  19. }
  20. catch
  21. {
  22. return new byte[0];
  23. }
Бывает моменты когда приходит не весь массив байт, а лишь часть его! что я не так делаю??

Решение задачи: «NetworkStream.DataAvailable работает не так как нужно!»

textual
Листинг программы
  1.         static public int ReadCount(NetworkStream stream)
  2.         {
  3.             using (var reader = new BinaryReader(stream))
  4.                 return reader.ReadInt32();
  5.         }

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


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

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

6   голосов , оценка 3.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы