Объекты класса NMMsg предназначены для выполнения следующих основных операций:
Установление связи с компьютером, выполняющим роль сервера в данном обмене информацией, на котором работает программа с активизированным и соответствующим образом настроенным компонентом NMMsgServ.
Отправка следующих данных: простой текст, содержимое потока, файлы.
Получение данных в текстовые переменные, в поток, запись их в файл.
Обратите внимание, что в отличие от обмена данными с помощью компонентов Delphi clientsocket и serverSocket, в данной паре компонентов для работы с файлами не нужно создавать потоки, ассоциированные с ними. Достаточно указать имя файла, и путь к нему, если файл размещен в каталоге, отличном от текущего.
Следует отметить, что как и в компоненте NMDateTime, практически все свойства объектов класса ыммзд унаследованы от класса TPowerSock. Основные из них приведены в табл. П1.2.
Таблица П1.2. Важнейшие свойства объекта тмзд
Свойство
Описание
Host
Содержит IP-адрес, разделенный точками, либо имя сервера в DNS
Port
Указывает номер сетевого порта сервера. Это число должно совпадать с номером порта, на работу с которым настроен объект NMMSGServ, работающий в составе запущенного к моменту соединения приложения на сервере
FromName
Содержит произвольное описание клиента. Служит для того, чтобы сервер мог его идентифицировать не только по IP-адресу, но и по дополнительной информации. Очень полезно использовать, когда на одной клиентской машине запущено несколько приложений, взаимодействующих с одним сервером
TimeOut
Содержит время, в течение которого ожидается ответ сервера. При превышении времени ожидания генерируется исключительная ситуация. В случае, когда установлено нулевое значение, контроль превышения времени отключается
BytesRecvd
Содержит число полученных байтов (символов) информации
BytesSent
Содержит число отправленых байтов (символов) информации
Компонент NMMsg содержит набор методов, наиболее важные из которых представлены в табл. П1.З.
Таблица П1.3. Ключевые методы объекта NMMsg
Метод
Описание
Postlt
Посылает серверу сообщений (компьютеру, на котором активизирован объект NMMsgServ) строку, указанную в параметре вызова метода
CaptureFile
Записывает в файл все данные, принимаемые сокетом, посредством которого происходит обмен
Capturestrearn
Аналогично предыдущему, но запись происходит в поток. Кроме того, можно ограничить число записываемых символов путем указания их числа во втором параметре вызова метода. Если нужно поместить в поток все символы, полученные от сервера, то в качестве параметра помещается (—1). Первый параметр вызова метода — поток, в который помещаются данные
Capturestring
Полностью аналогичен предыдущему методу, но запись идет в строковый параметр
Read
Возвращает строку, состоящую из символов, полученных от сервера. Количество символов указывается в параметре вызова метода
ReadLn
Возвращает строку, состоящую из символов, полученных от сервера. Запись заканчивается, как только встретился символ перевода строки
SendFile
Отсылает содержимое файла, имя которого указано в качестве параметра
SendStream
Отсылает поток, указанный в параметре
Для объекта NMMsg возникновение события демонстрирует состояние сокетного соединения, а его обработка используется для выполнения тех или иных операций, требующих соответствующего состояния. Например, читать данные, которые прислал сервер, имеет смысл тогда, и только тогда, когда сервер прислал некие данные. Наиболее важные события этого компонента представлены в табл. П1.4.
Таблица П1.4. События объекта NMMsg
Событие
Описание
OnConnect
Возникает, когда клиентский и серверный сокеты соединились
OnDisconnect
Обратное предыдущему событию
OnHostResolved
Является следствием успешности сопоставления имени сервера и IP-адреса
OnlnvalidHost
Обратное предыдущему событию
OnPacketRecvd
Возникает при получении данных от удаленной машины
OnPacketSent
Возникает после отправки данных на удаленную машину
Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет
studopedia.su - Студопедия (2013 - 2025) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав!Последнее добавление