Складання клієнтів і серверів на Java
Реалізація архітектури "клієнт-сервер" на мові програмування Java. Створення клієнт-серверного додатку на мові програмування Java. Підключення до порту хоста за допомогою конструктора ServerSocket. Зчитування інформації з потоку in і записування в out.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | лабораторная работа |
Язык | украинский |
Дата добавления | 07.02.2014 |
Размер файла | 11,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МІНІСТЕРСТВО ОСВІТИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”
КАФЕДРА ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ
Звіт
До лабораторної роботи
На тему: “Складання клієнтів і серверів на JAVA”
З дисципліни : "Програмне забезпечення мережевих технологій"
Виконав: Д.Л. Токаренко
Прийняв: М.М. Сенів
Мета: Навчитись реалізовувати архітектуру "клієнт-сервер" на мові програмування Java.
Завдання: Створити клієнт-серверний додаток на мові програмування Java.
Хід роботи
1. Cтворюємо додаток сервер.
Для початку підключимся до порту хоста. Зробити це можна за допомогою конструктора класа ServerSocket.
ServerSocket servers;
try {
servers = new ServerSocket(4444);
} catch (IOException e) {
System.out.println("Couldn't listen to port 4444");
System.exit(-1);
}
Після вдалого підключення до порта сервер повинен чекати підключення від клієнта. Зробити це можна так:
Socket fromclient;
try {
System.out.print("Waiting for a client...");
fromclient= servers.accept();
System.out.println("Client connected");
} catch (IOException e) {
System.out.println("Can't accept");
System.exit(-1);
}
Як тільки клієнт підключеться до серверу, сервер повинен створити потоки введення та виведення для зв'язку з ним. Це можна реалізувати наступним чином:
BufferedReader in;
PrintWriter out;
in=new BufferedReader(new
InputStreamReader(fromclient.getInputStream()));
out = new PrintWriter(fromclient.getOutputStream(),true);
Далі вже можна просто зчитувати інформацію з потоку in і записувати в out.
сервер мова програмування хост
Повний код додатку сервера:
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) throws IOException {
System.out.println("Welcome to Server side");
BufferedReader in = null;
PrintWriter out= null;
ServerSocket servers = null;
Socket fromclient = null;
// create server socket
try {
servers = new ServerSocket(4444);
} catch (IOException e) {
System.out.println("Couldn't listen to port 4444");
System.exit(-1);
}
try {
System.out.print("Waiting for a client...");
fromclient= servers.accept();
System.out.println("Client connected");
} catch (IOException e) {
System.out.println("Can't accept");
System.exit(-1);
}
in = new BufferedReader(new
InputStreamReader(fromclient.getInputStream()));
out = new PrintWriter(fromclient.getOutputStream(),true);
String input,output;
System.out.println("Wait for messages");
while ((input = in.readLine()) != null) {
if (input.equalsIgnoreCase("exit")) break;
out.println("S ::: "+input);
System.out.println(input);
}
out.close();
in.close();
fromclient.close();
servers.close();
}
}
2. Створюєм клієнтський додаток:
Для створення клієнтського додатку достатньо класу Socket і двух класі для введення та виведення. Також необхідно знати ім'я хосту, на якому запущений сервер та номер порта.
Socket fromserver = null;
fromserver = new Socket("localhost",4444);
Далі аналогічним чином, як для сервера, створюємо потоки введення віведення. І можна записувати або зчитувати дані.
Повний код клиєнтського додатку:
import java.io.*;
import java.net.*;
public class client {
public static void main(String[] args) throws IOException {
System.out.println("Welcome to Client side");
Socket fromserver = null;
if (args.length==0) {
System.out.println("use: client hostname");
System.exit(-1);
}
System.out.println("Connecting to... "+args[0]);
fromserver = new Socket(args[0],4444);
BufferedReader in = new
BufferedReader(new
InputStreamReader(fromserver.getInputStream()));
PrintWriter out = new
PrintWriter(fromserver.getOutputStream(),true);
BufferedReader inu = new
BufferedReader(new InputStreamReader(System.in));
String fuser,fserver;
while ((fuser = inu.readLine())!=null) {
out.println(fuser);
fserver = in.readLine();
System.out.println(fserver);
if (fuser.equalsIgnoreCase("close")) break;
if (fuser.equalsIgnoreCase("exit")) break;
}
out.close();
in.close();
inu.close();
fromserver.close();
}
}
Висновок
Завдяки цій лабораторній роботі, я навчився працювати з сокетами та реалізовувати додатки на базі архітектури клієнт - сервер.
Размещено на Allbest.ru
Подобные документы
Створення баз даних за допомогою стандартних бібліотек Java та клієнт-серверних програм. Основні стандартні класи і методи бібліотек SQL та swing, бібліотек, що дозволяють опрацьовувати дані СУБД та навчитись концепціям програмування мовою Java.
лабораторная работа [215,3 K], добавлен 04.10.2011Загальна характеристика та особливості програмування сучасних систем автоматизованого проектування. Порівняльна характеристика середовищ розробки прикладних програм на мові JAVA. Ознайомлення з принципами і особливостями роботи певних класів, компонентів.
курсовая работа [2,0 M], добавлен 31.01.2014Розробка та тестування додатків, які базуються на елементах мови програмування Java, принципи програмування в її середовищі. Вивчення переваг Java-платформи, прикладний програмний інтерфейс та особливості сучасних засобів створення Java-додатків.
дипломная работа [2,8 M], добавлен 22.06.2011Огляд об’єктно-реляційних перетворень. Схема роботи сервлету. Технології Object-relational mapping, JavaServlet, JSP та Spring framework для розробки web-проектів на мові програмування Java. Генерація текстових документів у відповідь на запит клієнта.
курсовая работа [295,9 K], добавлен 19.03.2015Історія розвитку мови Java, основні технології та їх застосування для роботи з SQL-серверами. Огляд багатопоточного програмування в Java. Принципи функціонування сервлетів та JSP-сторінок. Зміна розміру графічних об’єктів, робота з кольорами в Java.
курсовая работа [49,3 K], добавлен 29.03.2010Переваги архітектури "клієнт-сервер", порівняльна характеристика програмних засобів розробки його систем. Основні концепції функціонування системи IP-телебачення на базі архітектури "клієнт-сервер". Механізм взаємодії клієнта і сервера в середі Delphi.
реферат [955,9 K], добавлен 30.01.2010Сетевые возможности языков программирования. Преимущества использования Java-апплетов. Классы, входящие в состав библиотеки java.awt. Создание пользовательского интерфейса. Сокетное соединение с сервером. Графика в Java. Значения составляющих цвета.
курсовая работа [508,1 K], добавлен 10.11.2014Проектування ієрархії класів побутових приладів (пральна машина, пилосос, телевізор, магнітофон, радіоприймач, музичний центр), створення її структурної схеми. Розробка програми з використанням об'єктів створених класових типів на мові програмування Java.
лабораторная работа [451,0 K], добавлен 25.01.2014Аналіз особливостей мови програмування Java та середовища Android Studio. Розробка програмного забезпечення для якісного та ефективного вивчення іноземних слів. Побудова базових алгоритмів і структури даних. Вибір мови програмування, реалізація програми.
курсовая работа [335,3 K], добавлен 11.01.2015Общее понятие о пакете "java.net". Логическая структура соединений через сокеты. Создание объекта Socket, соединение между узлами Internet. Способы создания потока. Алгоритм работы системы клиент-сервер. Листинг ServerForm.java, запуск подпроцесса.
лабораторная работа [174,6 K], добавлен 27.11.2013