Исходный текст приложения DatagramServer вы найдете в листинге 3.7.
Листинг 3.7. Файл DatagramServer\DatagramServer.java
// =========================================================
// Использование датаграммных сокетов
// Приложение сервера
//
// (C) Фролов А.В, 1997
//
// E-mail: frolov@glas.apc.org
// WWW: http://www.glasnet.ru/~frolov
// или
// http://www.dials.ccas.ru/frolov
// =========================================================
import java.io.*;
import java.net.*;
import java.util.*;
public class DatagramServer
{
// -------------------------------------------------------
// main
// Метод, получающий управление при запуске приложения
// -------------------------------------------------------
public static void main(String args[])
{
// Массив для ввода строки с клавиатуры
byte bKbdInput[] = new byte[256];
// Буфер для чтения команд
byte buf[] = new byte[512];
// Сокет сервера
DatagramSocket s;
// Принимаемый пакет
DatagramPacket pinp;
// Адрес узла, откуда пришел принятый пакет
InetAddress SrcAddress;
// Порт, откуда пришел принятый пакет
int SrcPort;
try
{
// Выводим строку приглашения
System.out.println(
"Datagramm Socket Server Application");
}
catch(Exception ioe)
{
// При возникновении исключения выводим его описание
// на консоль
System.out.println(ioe.toString());
}
try
{
// Создаем сокет сервера
s = new DatagramSocket(9998);
// Создаем пакет для приема команд
pinp = new DatagramPacket(buf, 512);
// Цикл обработки команд, полученных от клиента
while(true)
{
// Принимаем пакет от клиента
s.receive(pinp);
// Получаем адрес узла, приславшего пакет
SrcAddress = pinp.getAddress();