Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

Библиотека :: Компьютеры и Программирование :: А.В. Фролов, Г.В. Фролов - Microsoft Visual J++
<<-[Весь Текст]
Страница: из 275
 <<-
 
 или нет.
   Наши клиенты не получают от сервера никакого подтверждения в ответ на 
переданные ему пакеты. Вы можете изменить программу клиента, добавив такую 
возможность. Однако учтите, что так как датаграммные сокеты не гарантируют 
доставки пакетов, ожидание ответа может продлиться бесконечно долго.
   Чтобы избежать этого, ваше приложение должно выполнять работу с сервером в 
отдельной задаче, причем главная задача должна ждать ответ ограниченное время. 
Все что вам нужно, чтобы реализовать работу подобным образом, вы найдете в 
первой главе нашей книги, посвященной мультизадачности в приложениях Java.
   Исходный текст приложения DatagramServer
   Исходный текст приложения DatagramServer вы найдете в листинге 3.7.
Листинг 3.7. Файл DatagramServer\DatagramServer.java
// =========================================================
// Использование датаграммных сокетов
// Приложение сервера
//
// (C) Фролов А.В, 1997
//
// E-mail: [email protected]
// 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 DatagramSocke
 
<<-[Весь Текст]
Страница: из 275
 <<-