Складання клієнтів і серверів на 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.