sammozg
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору public void ServerKR() { byte[] bytesW = new byte[512]; //foreach (var value in bytesR) {value =0; } for (int i = 9; i <= 510; i++) { bytesW[i] = 0;} bytesW[0] = 0; bytesW[1] = 1; bytesW[2] = 250; bytesW[3] = 1; bytesW[4] = 128; bytesW[5] = 1; bytesW[6] = 0; bytesW[7] = 0; bytesW[8] = 0; bytesW[511] = CRC8(0, 511, bytesW); // Устанавливаем для сокета локальную конечную точку //IPHostEntry ipHost = Dns.GetHostEntry("localhost"); //IPAddress ipAddr = ipHost.AddressList[0]; //EndPoint EndPoint = new IPEndPoint(ipAddr, 5005); // получаем адреса для запуска сокета //***********************************************IPEndPoint ipPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 5006); // Создаем сокет Tcp/Ip //Socket sListener = new Socket(ipAddr.AddressFamily, SocketType.Stream, ProtocolType.Tcp); Socket sListener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPAddress hostIP = Dns.Resolve(IPAddress.Any.ToString()).AddressList[0]; IPEndPoint ipPoint = new IPEndPoint(hostIP, 5006); int ERR = 0; // Назначаем сокет локальной конечной точке и слушаем входящие сокеты //try //{ sListener.Bind(ipPoint); sListener.Listen(10); // Начинаем слушать соединения while (true) { // Программа приостанавливается, ожидая входящее соединение Socket handler = sListener.Accept(); //string data = null; // Мы дождались клиента, пытающегося с нами соединиться //while (handler.Connected) { byte[] bytes = new byte[1024]; int bytesRec = handler.Receive(bytes); /*data += Encoding.UTF8.GetString(bytes, 0, bytesRec); // Показываем данные на консоли Console.Write("Полученный текст: " + data + "\n\n"); // Отправляем ответ клиенту\ string reply = "Спасибо за запрос в " + data.Length.ToString() + " символов"; byte[] msg = Encoding.UTF8.GetBytes(reply);*/ if (bytes[5 + bytes[2] + 256 * bytes[3]] != ReadKRData.CRC8(0, (5 + bytes[2] + 256 * bytes[3]), bytes)) { MessageBox.Show("Ужас дело"); ERR = 3; } if (ERR == 0) handler.Send(bytesW, 0, 6 + bytesW[2] + 256 * bytesW[3], 0); /*if (data.IndexOf("<TheEnd>") > -1) { Console.WriteLine("Сервер завершил соединение с клиентом."); break; }*/ } handler.Shutdown(SocketShutdown.Both); handler.Close(); } //} /*catch (Exception ex) { Console.WriteLine(ex.ToString()); } finally { Console.ReadLine(); }*/ //************************************************************************************************************ } |