Java 2 Micro Edition (J2ME)




Соединения coкeтa - часть 6


В листингах 8.6 - 8.8 демонстрируется набор классов, которые составляют структуру сокетных коммуникаций в MIDP. Смысл заключается в том, что эти классы будут использоваться приложением, которое нуждается в сокетных коммуникациях. Эти примеры составляют не больше чем основу, которая формирует базовую структуру поддержки сокетных взаимодействий. Они не являются функционирующими приложениями.

Некоторые данные были проигнорированы в этом коде. Например, сама сетевая служба не определена, нет определения синтаксиса или семантики сообщения протокола уровня приложений. Кроме того, код не обращается к очистке рабочих нитей со стороны сервера. Следующие классы являются классами, составляющими данный пример:

  • ServerSocket - определяет демон сервера, который прослушивает известный сокет на предмет клиентских запросов соединения.
  • Server Agent - определяет объект, один экземпляр которого демон создает для каждого клиентского запроса. Каждый экземпляр взаимодействует с клиентом. Данный класс определяет действительную службу.
  • ClientSocket - представляет клиента.
  • Листинг 8.6. Сервер порождает новую нить для создания объекта со стороны сервера, который взаимодействует с каждым клиентом. Клиент и сервер должны определять семантику своих сообщений

    import javax.microedition.io.Connector;

    import javax.microedition.io.StreamConnection;

    import javax.microedition.io.StreamConnectionNotifier;

    import Java.io.lOException;

    /**

    Данный класс реализует службу, которая прослушивает запросы

    клиентских соединений на известном сокете.

    Он открывает соединение на предварительно определенном номере порта.

    А затем блокирует обработку на данном порте,

    ожидая клиентского запроса соединения.

    Когда запрос появляется, он принимает его и открывает новое

    соединение сокета. Эти два этапа выражаются в реализации,

    уведомляющей реализацию клиента о новом соединении сокета.

    Этот сервер затем порождает компонент и передает его новому

    объекту соединения. Компонент запускает отдельную нить. Компонент




    Содержание  Назад  Вперед