Advertisement
Guest User

Untitled

a guest
Dec 7th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.92 KB | None | 0 0
  1. /*
  2.  * To change this license header, choose License Headers in Project Properties.
  3.  * To change this template file, choose Tools | Templates
  4.  * and open the template in the editor.
  5.  */
  6. package lab11;
  7.  
  8. import java.io.*;
  9. import java.net.Socket;
  10.  
  11. public class Client {
  12.  
  13.     private static Socket clientSocket; //сокет для общения
  14.     private static BufferedReader reader; // нам нужен ридер читающий с консоли, иначе как
  15.     // мы узнаем что хочет сказать клиент?
  16.     private static BufferedReader in; // поток чтения из сокета
  17.     private static BufferedWriter out; // поток записи в сокет
  18.  
  19.     public static void main(String[] args) {
  20.         try {
  21.             try {
  22.                 // адрес - локальный хост, порт - 4004, такой же как у сервера
  23.                 clientSocket = new Socket("localhost", 4005); // этой строкой мы запрашиваем
  24.                 //  у сервера доступ на соединение
  25.                 reader = new BufferedReader(new InputStreamReader(System.in));
  26.                 // читать соообщения с сервера
  27.                 in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
  28.                 // писать туда же
  29.                 out = new BufferedWriter(new OutputStreamWriter(clientSocket.getOutputStream()));
  30.                 while(true){
  31.                 System.out.println("Вы что-то хотели сказать? Введите это здесь:");
  32.                 // если соединение произошло и потоки успешно созданы - мы можем
  33.                 //  работать дальше и предложить клиенту что то ввести
  34.                 // если нет - вылетит исключение
  35.                 String word = reader.readLine(); // ждём пока клиент что-нибудь
  36.                 // не напишет в консоль
  37.                 out.write(word + "\n"); // отправляем сообщение на сервер
  38.                 out.flush();
  39.                 String serverWord = in.readLine(); // ждём, что скажет сервер
  40.                 System.out.println(serverWord); // получив - выводим на экран
  41.                 if(word.equals("exit")){
  42.                     break;
  43.                 }
  44.                 }
  45.             } finally { // в любом случае необходимо закрыть сокет и потоки
  46.                 System.out.println("Клиент был закрыт...");
  47.                 clientSocket.close();
  48.                 in.close();
  49.                 out.close();
  50.             }
  51.         } catch (IOException e) {
  52.             System.err.println(e);
  53.         }
  54.  
  55.     }
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement