protected void функция_потока()
 {
     TcpListener listner = null;
     try
     {
         listner = new TcpListener(5595);
         listner.Start();
         byte[] data = new byte[512];
         string str;
         PrintMsg("Wait client");
         while (true)
         {
             if (listner.Pending())
             {
                 str = null;
                 TcpClient client = listner.AcceptTcpClient();
                 PrintMsg("Connected");
                 NetworkStream stream = client.GetStream();
                 int i;
                 byte[] msgbyte = new byte[512];
                 while ((i = stream.Read(data, 0, data.Length)) != 0)
                 {
                     for (int j = 0; j < i; j++)
                         if (data[j] == 1) str += 1;
                         else
                             str += 0;
                 }
                 PrintMsg("Полученное закодированное сообщение в двоичном формате                   :\n" + str);
                 byte[] vec = new byte[str.Length];
                 for (int j = 0; j < str.Length; j++)
                     if (str[j] == '1') vec[j] = 1;
                     else
                         vec[j] = 0;
                 Hamming_Decoder hd = new Hamming_Decoder(vec);
                 hd.добавитьОшибку();
                 byte[] vec2 = hd.вернутьДанныеБезДекодирования();
                 PrintMsg("Полученное закодированное сообщение в двоичном формате с ошибкой:\n" + вСтроку(vec2));
                 vec2 = hd.декодировать(0);
                 PrintMsg("Разкодированное сообщение с ошибкой:\n" + конвертировать(vec2));
                 //PrintMsg();
                 vec = hd.декодировать(1);
                 PrintMsg("Разкодированное сообщение с исправленной ошибкой:\n" + конвертировать(vec));
                 client.Close();
                 PrintMsg("Wait client");
             }
         }
     }
     catch (SocketException e) { PrintMsg(e.Message); }
     finally { listner.Stop(); }
 }
Exemple #2
0
        protected void функция_потока()
        {
            TcpListener listner = null;

            try
            {
                listner = new TcpListener(5595);
                listner.Start();
                byte[] data = new byte[512];
                string str;
                PrintMsg("Wait client");
                while (true)
                {
                    if (listner.Pending())
                    {
                        str = null;
                        TcpClient client = listner.AcceptTcpClient();
                        PrintMsg("Connected");
                        NetworkStream stream = client.GetStream();
                        int           i;
                        byte[]        msgbyte = new byte[512];
                        while ((i = stream.Read(data, 0, data.Length)) != 0)
                        {
                            for (int j = 0; j < i; j++)
                            {
                                if (data[j] == 1)
                                {
                                    str += 1;
                                }
                                else
                                {
                                    str += 0;
                                }
                            }
                        }
                        PrintMsg("Полученное закодированное сообщение в двоичном формате                   :\n" + str);
                        byte[] vec = new byte[str.Length];
                        for (int j = 0; j < str.Length; j++)
                        {
                            if (str[j] == '1')
                            {
                                vec[j] = 1;
                            }
                            else
                            {
                                vec[j] = 0;
                            }
                        }
                        Hamming_Decoder hd = new Hamming_Decoder(vec);
                        hd.добавитьОшибку();
                        byte[] vec2 = hd.вернутьДанныеБезДекодирования();
                        PrintMsg("Полученное закодированное сообщение в двоичном формате с ошибкой:\n" + вСтроку(vec2));
                        vec2 = hd.декодировать(0);
                        PrintMsg("Разкодированное сообщение с ошибкой:\n" + конвертировать(vec2));
                        //PrintMsg();
                        vec = hd.декодировать(1);
                        PrintMsg("Разкодированное сообщение с исправленной ошибкой:\n" + конвертировать(vec));
                        client.Close();
                        PrintMsg("Wait client");
                    }
                }
            }
            catch (SocketException e) { PrintMsg(e.Message); }
            finally { listner.Stop(); }
        }