Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Что такое? [D5, Win95/98, WinME]


Denis_Ac ©   (2003-10-23 07:40:00) 

Простите конечно за возможно глупый вопрос...
Но вот поле service в ServerSocket в чём его смысл. В help"e читал но что-то ничего не понял


Denis_Ac   (2003-10-24 07:53:00) [1]

Огромное спасибо!!!
Теперь всё ясно!!!


Digitman   (2003-10-23 08:39:00) [2]

В св-ве Service указывается имя сервиса, например, "http", "ftp", "smtp" ..
Каждый стандартный сервис ассоциирован с фиксированным по умолчанию номером порта. По сути это строковый алиас целочисленного значения номера порта. Перечень имен широкораспространенных сервисов и ассоциированных с ними номеров портов содержится в сист.директории в файле Services. Файл - текстовый, каждая его строка имеет формат :
Имя_сервиса Номер_порта/Трансп_протокол [Алиас] [ #Комментарий]

Механизм работы св-ва Service таков :
- при активизации компонента (Open или Active = True) сначала проверяется значение св-ва Service

- если оно = "", то для активизации используется номер порта, явно указанный в св-ве Port;

- если оно <> "", то вызывается ф-ция WinsockAPI [WSAAsync]GetServiceByName(), которая ищет в файле Services строку, имеющую значение поля Имя_сервиса, равное значению св-ва Service, и значение поля Трансп_протокол, равное "TCP";

- при нахождении строки св-во Port компонента устанавливается равным значению поля Номер_порта найденной строки;

- при ненахождении строки в зависимости от режима гнезда генерируется либо исключение либо событие OnError


Наверх

Титульная страница Поиск, карта сайта Написать письмо