![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Что такое? [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