Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Andrey Sapozhnikov                   2:5020/400     15 Nov 2002  22:19:29
 To : Andrey
 Subject : Re: Работа с нескольк  ими сокетами одноврем  енно
 -------------------------------------------------------------------------------- 
 
 Andrey wrote:
 
 > При работе с сокетами для организации таймаута
 > на установление соединения я использую
 > неблокирующий ввод-вывод и функцию
 > select(). В случае единственного сокета все
 > оказывается достаточно прозрачно.
 > 
 > Однако, теперь мне необходимо организовать
 > одновременное подключение к нескольким портам
 > удаленного хоста с таймаутом на установление
 > всех соединений. Иными словами надо проверить
 > установилось ли в течение заданного таймаута
 > соединение хотя бы с одним из заданных портов
 > удаленного хоста. В дальнейшем передавать или
 > принимать данные не нужно.
 > 
 > Возникает проблема: каким образом в этом случае
 > можно контролировать таймаут всех соединений и,
 > в то же время, проверять успешность установления
 > соединения по каждому из портов?
 
 Да все тривиально в общем-то. В селект подставляй
 дескрипторы всех сокетов ждущих соединения. После
 того как селект вернул готовность одного или
 нескольких сокетов, соответственно помечай их как
 ошибочные или успешно соединившиеся и выкидывай
 из списка ожидаемых. После чего проверяй время, и
 если еще осталось время и остались сокеты которые
 еще в процессе соединения - заново возвращайся в
 select скорректировав ему таймаут.
 
 Андрей
 
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Работа с несколькими сокетами одновременно   Andrey   15 Nov 2002 16:12:25 
 Re: Работа с нескольк ими сокетами одноврем енно   Andrey Sapozhnikov   15 Nov 2002 22:19:29 
 Re: Работа с нескольк ими сокетами одноврем енно   Andrey   16 Nov 2002 18:26:36 
Архивное /ru.perl/65775821a4c7.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional