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(); } }
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(); } }