Лабораторная работа № 6. Пересылка/ прием сообщений через сокеты
Цель работы: Изучение особенностей использования сокета, для передачи сообщений в ЛВС.
Теоретическая справка.
Socket (гнездо, разъем) - абстрактное программное понятие, используемое для обозначения в прикладной программе конечной точки канала связи с коммуникационной средой, образованной вычислительной сетью. При использовании протоколов TCP/IP можно говорить, что socket является средством подключения прикладной программы к порту локального узла сети.
Рассмотрим механизм реализации сокетов в Borland Delphi. Для работы с сокетами в Delphi используются компоненты TClientSocket и TServerSocket. Они являются потомками абстрактного класса TabstractSocket, который включает методы и свойства, позволяющие прикладному приложению использовать Windows socket.
Windows socket объединяет в себе набор коммуникационных протоколов, предоставляющие возможность приложению подключаться к другим компьютерам для обмена информацией. Windows sockets поддерживает следующие семейства протоколов:
- TCP/IP;
- Xerox Network System (XNS);
- IPX/SPX;
- DECnet.
Сокеты позволяют приложению создавать соединение с другими машинами без знания конкретного типа протокола.
Для создания сокета, инициирующего соединение с другими машинами используют TclientSocket, а для создания сокета, отвечающего на запросы с других машин, - TserverSocket /2/.
Примерная схема работы с сокетом клиента включает в себя следующие шаги:
1. Определение свойств сокета Host и Port. Host – это имя хост-имя или IP-адрес компьютера, с которым необходимо установить соединение. Port –имя порта.
2. Открытие сокета. В данном шаге сокет клиента определяет сервер и подключается к нему.
3. Пересылка данных.
4. Закрытие сокета.
Алгоритм работы сокета сервера немного отличается от рассмотренного выше алгоритма для сокета клиента:
1. Определение свойств Port и ServerType. Свойство Port аналогично свойству сокета клиента. ServerType – определяет тип подключения.
2. Открытие сокета. Сокет на данном шаге переходит в режим ожидания подключений клиентов.
3. Подключение клиентов и пересылка данных.
4. Отключение клиентов.
5. Закрытие сокета.
Выполнение работы:
- изучить возможности сокетов для передачи данных в ЛВС;
- реализовать прикладное приложение на основе сокетов, обеспечивающее передачу сообщений по ЛВС;
- осуществите передачу сообщений между компьютерами, используя созданное прикладное приложение.
Пример работы программы:
1. Подключение клиента.
2. Пересылка сообщения серверу и с сервера клиенту.
3. Экранная форма программы по пересылке сообщений.
Оформление работы.
Отчет по лабораторной работе должен содержать:
- название и цель работы;
- руководство для пользователя программы;
- руководство для программиста;
- алгоритм программы;
- листинг программы;
- экранные формы работы программы;
- вывод по выполненной работе;
- список использованных источников.
Контрольные вопросы:
-- что такое сокет?;
- семейства каких протоколов поддерживает Windows socket?;
- опишите алгоритм работы сокета для клиентского приложения?;
- опишите алгоритм работы сокета для приложения сервера?;
- какие свойства должны быть определены для создания соединения с помощью сокетов?.