
Java / 9
.docМіністерство освіти і науки України
ДЕРЖАВНИЙ ВИЩИЙ НАВЧАЛЬНИЙ ЗАКЛАД
«НАЦІОНАЛЬНИЙ ГІРНИЧИЙ УНІВЕРСИТЕТ»
ІНСТИТУТ ЕЛЕКТРОЕНЕРГЕТИКИ
ФАКУЛЬТЕТ ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ
Кафедра програмного забезпечення комп'ютерних систем
ЗВІТ
З ЛАБОРАТОРНОЇ РОБОТИ № 9
з дисципліни “Мережеве Java програмування”
-
Виконав:
ст. гр. КНіт-10-1
Левченко О. А.
Перевірив:
Зінченко О. В.
Харь О. Т.
Дніпропетровськ
2014
Лабораторная работа №9
Создание клиент-сервер приложения
Цель: Создать программу, которая будет иметь возможность соединиться с сервером, отправить сообщение и получить ответ.
Задача:
Используя сокеты, создать клиент-сервер приложение.
Листинг программы:
package lr_9_serverside;
import java.io.*;
import java.net.*;
public class LR_9_ServerSide {
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);//подключение к порту 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();
}
}
package lr_9_clientside;
import java.io.*;
import java.net.*;
public class LR_9_ClientSide {
public static void main(String[] args) throws IOException{
System.out.println("Welcome to Client side");
Socket fromserver = null;
fromserver = new Socket("localhost",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();
}
}
Результат:
ClientSide:
ServerSide:
Вывод: я ознакомился с понятием сокетов в java.