
- •Об'єктно-орієнтовані мови. Основні принципи об'єктно-орієнтованого програмування.
- •Відмінності мови Java від інших мов програмування
- •Основні типи даних мови Java.
- •Перетворення даних в програмах на Java.
- •Пакети класів, їх створення та використання.
- •Використання рядків в мові Java. Клас String.
- •Менеджери розташування. Їх призначення та використання Розкладки
- •FlowLayout (послідовне розташування)
- •GridLayout (табличне розташування)
- •BorderLayout (полярне розташування)
- •CardLayout (блокнотне розташування)
- •GridBagLayout (коміркове розташування)
- •Пакет java.Awt. Ієрархія класів в ньому. Клас Component.
- •Контейнери. Їх призначення та загальні методи контейнерів Контейнери
- •Загальні характеристика класу Component (див 13)
- •Використання контейнера Panel та основні його методи. Панель
- •Контейнер Frame, його особливості. Frame (Фрейми)
- •Графічні засоби мови Java. Клас Canvas.
- •Реалізація роботи прапорців та пермикачів. Checkbox (Прапорець та Перемикач)
- •Клас Graphics. Малювання графічних примітивів.
- •Виведення тексту. Клас Font.
- •Повідомлення та події. Поля та методи класу Event Класи подій
- •Обробка повідомлень миші. Основні методи.
- •Виведення растрових зображень. Класи Url та Image. Завантаження растрового зображення
- •Виведення зображення
- •Клас Image
- •Способи усунення мерехтіння при виведенні інформації на екран. Усунення мерехтіння
- •Потоки. Клас Thread.Створення потоків.
- •Створення потоків
- •Виняткові ситуації. Класи Throwable, Exception, Error. 29. Методи обробки виняткових ситуацій.
- •Аплети у порівнянні з додатками
- •Проблема безпеки
- •Включення аплетів в html-документ Створення аплетів
- •Введення-виведення даних. Базові класи введення-виведення
- •Дати порівняльну характеристику протоколів стеку tcp/ip та udp.
- •Створення сокетів tcp
- •4.3 Робота з потоковими сокетами
- •Клас Socket
- •Клас ServerSocket
- •Створення сокетів udp
- •Клас DatagramSocket
- •Клас DatagramPacket
- •Приклад серверного додатку, що реалізує датаграмний сокет.
- •Приклад клієнтського додатку, що реалізує датаграмний сокет.
Приклад серверного додатку, що реалізує датаграмний сокет.
import java.net.*;
public class DatagramServsr extends Thread
{ byte[] buf = new byte[100];
int port=8008;
public void run()
{ try //Визначаємо локальну адресу
{ InetAddress iosal = InetAddress.getLocalHost();
//Визначаємо сокет дейтаграми
DatagramSocket srvsocket=new DatagramSocket(port,local);
//Визначаємо пакет дейтаграми
DatagramPacket pack=new DatagramPacket(buf,buf.length);
while (true)
{ srvsocket.receive(pack); //Отримуємо дейтаграму
String srt=new String(pack.getData(),0,pack.getLength());
System.out.println(str);
}
}
catch(Exception e)
{ System.err.println(e.getMessage());}
}
public static void main(String agr[])
{
System.out.println("Datagram server running...");
DatagramServsr my= new DatagramServsr();
my.start();
}
}
Приклад клієнтського додатку, що реалізує датаграмний сокет.
import java.net.*;
public class DatagramClient
{
public static void main(String agr[])
{ //Объявляем массив байт для пакета дейтграммы
byte[ ] buf= new bute[100];
//Инициализация порта
int port=8008;
int cur=0;
int ch;
boolean flag = true;
while(flage)
{ try
{ //Отримуємо символ с клавіатури
ch=System.in.read();
//Визначаємо локальну адресу
InetAddress local = InetAddress.getLocalHost();
//Записуемо символ в масив
buf[cur]=(byte)ch;
if(ch==-1) flag=false;
if(ch=='\n')
{ // Визначаємо сокет дейтаграми
DatagramSocket srvsocket = new DatagramSocket();
// Визначаємо пакет для відтправки
// за адресою local і портом port
DatagramPacket pack =
new DatagramPacket(buf,buf.length,local,port);
//Посилаємо пакет через сокет
srvsocket.send(pack);
cur=-1 ;
//Обнуляємо масив
for(int i=0;i<buf.lenght;i++) buf[i]=0;
}
cur++;
}
catch(Exception e)
{
System.err.println(e.getMessage());
break;
}
}
}
}