Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.*;
- import java.net.ServerSocket;
- import java.net.Socket;
- public class Server {
- public static void main(String args[]) {
- Server object = new Server();
- object.RunServer();
- }
- /**
- * данный метод реализует создание сокеты сервера и привязывает его к порту
- */
- public void RunServer() {
- try (ServerSocket server = new ServerSocket(12345)) //создание сокеты сервера и привязка его к прорту
- {
- System.out.println("Успешный запуск.");
- System.out.println("Ожидание клиента...");
- System.out.println();
- while (true) {
- try (Socket socket = server.accept())//ожидание подключения клиента
- {
- System.out.println("Клиент подключился.");
- OutputInput(socket);
- } catch (IOException ex) {
- System.out.println("Клиенту не удалось подключиться.");
- }
- }
- } catch (IOException ex) {
- System.out.println("Не удалось открыть сокету.");
- System.exit(-1);
- }
- }
- /**
- * реализует возможность принятия данных от Клиента, их обработки и отправки результата Клиенту
- * @param socket
- */
- private void OutputInput(Socket socket) {
- try {
- //получение входного и выходного потоков сокета для получения и отправки данных клиенту
- InputStream input = socket.getInputStream();
- OutputStream output = socket.getOutputStream();
- //конвертация потоков в другой тип, чтобы легче обрабатывать текстовые сообщения
- DataInputStream dataInput = new DataInputStream(input);
- DataOutputStream dataOutput = new DataOutputStream(output);
- String string;
- while (true) {
- System.out.println("Ожидание текста...");
- System.out.println();
- string = dataInput.readUTF(); //ожидание строки от клиента
- System.out.println("От клиента: " + string);
- Variant8 object = new Variant8(string); //создание объекта класса индивидуального задания
- System.out.println("Отправляется ответ...");
- //отправка клиенту результата вычислений при создании объекта
- dataOutput.writeUTF(object.getResult());
- System.out.println("Ответ отправлен.");
- System.out.println();
- dataOutput.flush(); //заканчиваем передачу данных
- }
- } catch (IOException ex) {
- System.out.println("Разрыв соединения с клиентом.");
- System.out.println("Ожидание клиента...");
- System.out.println();
- }
- }
- }
- /////////////////////////////////////////////////////////////////////////////////////////////////
- //////////////////////////////////////////////////////////////////////////////////////////////////
- import java.io.*;
- import java.net.Socket;
- public class Client {
- public static void main(String[] args) {
- Client object = new Client();
- object.ConnectToServer();
- }
- /**
- * реализует подключение Клиента к серверу
- */
- public void ConnectToServer() {
- String ip = "127.0.0.1";
- try (Socket socket = new Socket(ip, 12345)) //создаем сокет, используя ip-адрес и порт сервера
- {
- System.out.println("Добро пожаловать!");
- System.out.println("Вы подключились к " + ip);
- System.out.println();
- OutputInput(socket);
- } catch (IOException ex) {
- System.out.println("Не удалось подключиться к " + ip);
- System.exit(-1);
- }
- }
- /**
- * реализует возможность отправки данных серверу и их приема от сервера
- * @param socket
- */
- private void OutputInput(Socket socket) {
- try {
- //получение входного и выходного потоков сокета для получения и отправки данных клиентом
- InputStream inputStream = socket.getInputStream();
- OutputStream outputStream = socket.getOutputStream();
- //конвертация потоков в другой тип, чтобы легче обрабатывать текстовые сообщения
- DataInputStream dataInput = new DataInputStream(inputStream);
- DataOutputStream dataOutput = new DataOutputStream(outputStream);
- //создаем поток для чтения данных с клавиатуры
- BufferedReader keyboardInput = new BufferedReader(new InputStreamReader(System.in));
- String line;
- System.out.println("Введите текст: ");
- while (true) {
- line = keyboardInput.readLine();//ожидание ввода строки
- dataOutput.writeUTF(line); //отправка введенной строки серверу
- dataOutput.flush();//заканчиваем передачу данных
- System.out.println();
- System.out.println("Ответ от сервера: ");
- System.out.println(dataInput.readUTF()); //ожидание ответа от сервера
- System.out.println();
- System.out.println("Введите текст: ");
- }
- } catch (IOException ex) {
- System.out.println("Соедиенение с сервером потеряно.");
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement