Advertisement
Guest User

readbyte

a guest
Nov 20th, 2017
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.52 KB | None | 0 0
  1.  // получение сообщений
  2.         static void ReceiveMessage()
  3.         {
  4.             /*const int data_length = 200;
  5.             byte[] data = new byte[data_length];
  6.             int bytes = 0;
  7.             string message;*/
  8.  
  9.             //для побайтового чтения
  10.             int pointer = 0;
  11.             const int buf_size = 200;
  12.             byte[] buffer = new byte[buf_size];
  13.             string message;
  14.             int b;
  15.  
  16.             while (true)
  17.             {
  18.                 try
  19.                 {
  20.                     //побайтовое чтение
  21.                     b = stream.ReadByte();
  22.                     if(b != (-1)) //если байт пришел
  23.                     {
  24.                         buffer[pointer] = (byte)b;
  25.                         pointer++;
  26.                     }
  27.  
  28.                     if (pointer >= 200)
  29.                     {
  30.                         pointer = 0;
  31.                         message = Encoding.UTF8.GetString(buffer, 0, 200);
  32.                         Console.WriteLine(message.Length);
  33.                         //Console.WriteLine(message);
  34.                     }
  35.  
  36.                     //Без ненужной хуйни со слипом
  37.  
  38.                     /*if(stream.DataAvailable)
  39.                     {
  40.                         Thread.Sleep(1);
  41.                         bytes = stream.Read(data, 0, data_length);
  42.                         message = Encoding.UTF8.GetString(data, 0, bytes);
  43.                         Console.WriteLine(message.Length);
  44.                     }*/
  45.  
  46.                     //БЫЛО:
  47.  
  48.                     /*byte[] data = new byte[200]; // буфер для получаемых данных
  49.                     StringBuilder builder = new StringBuilder();
  50.                     int bytes = 0;
  51.                     do
  52.                     {
  53.                         bytes = stream.Read(data, 0, data.Length);
  54.                         builder.Append(Encoding.UTF8.GetString(data, 0, bytes));
  55.  
  56.                     }
  57.                     while (stream.DataAvailable);
  58.  
  59.                     string message = builder.ToString();
  60.                     Console.WriteLine(message.Length);//вывод сообщения*/
  61.                 }
  62.                 catch
  63.                 {
  64.                     Console.WriteLine("Подключение прервано!"); //соединение было прервано
  65.                     Console.ReadLine();
  66.                     Disconnect();
  67.                 }
  68.             }
  69.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement