n Стадия 1
Установление соединения клиент-сервер
n Стадия 2
Сервер параллельной обработки передает управление дочернему процессу
n Стадия 3
Если во время обработки запроса поступает запрос от другого клиента, сервер параллельной обработки передает управление новому дочернему процессу
Вопрос 106 Классы DatagramSocet и DatagramPacket , работа с ними.26-29 Лекция Основы создания сетевых приложений на Java .
Дейтаграммы
n Дейтаграмма – независимое, самодостаточное сообщение, посылаемое по сети, чья доставка, время (порядок) доставки и содержимое не гарантируются
n Могут использоваться как для адресной, так и для широковещательной рассылки
Класс DatagramPacket
n Экземпляры класса являются прототипами дейтаграмм-сообщений
n Конструкторы
l DatagramPacket(byte[] buf, int offset, int length, InetAddress address, int port)
l И прочие…
n Методы
l byte[] getData()
l int getLength()
l int getOffset()
l SocketAddress getSocketAddress()
l void setSocketAddress(SocketAddress address)
l void setData(byte[] buf, int offset, int length)
l И прочие…
Класс DatagramSocket
n Экземпляры являются не ориентированными на соединение сокетами
n Конструкторы
l DatagramSocket()
l DatagramSocket(int port, InetAddress laddr)
l И другие…
n Методы
l void bind(SocketAddress addr)
l void close()
l void connect(InetAddress address, int port)
l void send(DatagramPacket p)
l void receive(DatagramPacket p)
l И другие…
Передача дейтаграмм
Вопрос 107 Класс URL , работа с ним. 30-34. Лекция Основы создания сетевых приложений на Java .
Uniform Resource Locator
n URL – адрес ресурса в Интернет
n Имя протокола
Протокол, используемый для связи
n Имя хоста
Имя компьютера, на котором
расположен ресурс
n Имя файла
Путь к файлу на компьютере
n Номер порта
Номер порта для соединения (необязателен)
n Ссылка
Ссылка на именованный якорь (необязательна)
n Может быть абсолютным и относительным
URL gamelan = new URL("http", "www.gamelan.com", 80,
"pages/Gamelan.network.html");
Прямое чтение из URL
import java.net.*;
import java.io.*;
public class URLReader {
public static void main(String[] args) throws Exception {
URL yahoo = new URL("http://www.yahoo.com/");
BufferedReader in = new BufferedReader(
new InputStreamReader(
yahoo.openStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
}
in.close();
}
}
Чтение из URL -соединения
import java.net.*;
import java.io.*;
public class URLConnectionReader {
public static void main(String[] args) throws Exception {
URL yahoo = new URL("http://www.yahoo.com/");
URLConnection yc = yahoo.openConnection();
BufferedReader in = new BufferedReader(
new InputStreamReader(
yc.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
}
in.close();
}
}
Запись в URL -соединение
import java.io.*;
import java.net.*;
public class Reverse {
public static void main(String[] args) throws Exception {
if (args.length != 1) {
System.err.println("Usage: java Reverse" +
"string_to_reverse");
System.exit(1);
}
String stringToReverse = URLEncoder.encode(args[0],
"US-ASCII");
URL url = new URL(
"http://java.sun.com/cgi-bin/backwards");
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
PrintWriter out = new PrintWriter(
connection.getOutputStream());
out.println("string=" + stringToReverse);
out.close();
BufferedReader in = new BufferedReader(
new InputStreamReader(
connection.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
}
}
Дата: 2019-07-30, просмотров: 258.