Advertisement
lizabaranovskaya

laba2

Apr 5th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.11 KB | None | 0 0
  1. package server;
  2. import java.io.IOException;
  3. import java.net.DatagramPacket;
  4. import java.net.DatagramSocket;
  5. import java.net.InetAddress;
  6.  
  7. public class Server {
  8.  
  9.     public static void main(String[] args) throws IOException {
  10.  
  11.         byte[] buf; //массив байт для записи сообщения в байтах
  12.         DatagramSocket socket = new DatagramSocket(9912, InetAddress.getByName("localhost")); //создаём серверв с заданным портом и именем
  13.         System.out.println("Сервер включён");
  14.  
  15.         while (true) {
  16.             System.out.println("========================");
  17.             buf = new byte[256];
  18.             DatagramPacket pack = new DatagramPacket(buf, buf.length); //создаём дейтаграмму в которую будем получать инфу
  19.  
  20.             socket.receive(pack); //получаем инфу от клиента
  21.             int port = pack.getPort(); //запоминаем порт от кого получили
  22.             InetAddress clientAdr = pack.getAddress(); //и адрес(имя)
  23.  
  24.             String str = new String(pack.getData(), 0, pack.getLength()); //преобразуем полученную инфу в строку
  25.             System.out.println("Получили: " + str);
  26.  
  27.             String result;
  28.             if (str.length()  > 7) {
  29.                 String temp = ("{" + str + "}");
  30.                        
  31.                                 result = "Результат выполнения: " + temp; //формируем строку для отправки
  32.             } else result = "Длина строки меньше 7";
  33.  
  34.             buf = result.getBytes(); //получаем значение строки в байтах
  35.  
  36.             pack = new DatagramPacket(buf, buf.length, clientAdr, port); //формируем дейтаграмму, указывая порт и адрес получателя
  37.             socket.send(pack);//отправляем дейтаграмму
  38.             System.out.println("Отправлено: " + result );
  39.  
  40.         }
  41.     }
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement