[Sysadmins] q: tcp timeout

Хихин Руслан =?iso-8859-1?q?hihin_=CE=C1_rambler=2Eru?=
Чт Май 17 00:41:08 MSD 2007


Здравствуйте Dmytro Cherkasov

 >  Это я задавал вопрос. Красивое решение, но нам не очень подходит, в
 > силу
 >
 > ряда причин. Вот что я спросить хочу... Есть мысль, переписать
 > клиента с
 >
 > открытем сокета с опцией SO_RCVTIMEO. Это сильно неправильное
 > решение будет
 >
 > ? Учитывая, что это опция на сокет часто помечена как
 > недокументированная.

Нашел по манам :)

SVr4, 4.4BSD (эти системные вызовы впервые появились в 4.2BSD). SVr4 
документирует дополнительные коды ошибок ENOMEM и ENOSR, но не 
документирует флаг4.4BSD 4.4BSD и SO_SNDLOWAT, SO_RCVLOWAT, 
SO_SNDTIMEO, SO_RCVTIMEO. 

Т.е как я понял в 4.4BSD документировано, в SVr4 -нет, посмотрел по 
исходникам ядра - вроде вызывается do_set_sock_timeout, да и в 
man 7 socket :

	SO_RCVTIMEO and SO_SNDTIMEO
Specify the receiving or sending timeouts until reporting an error.  The
parameter  is  a  struct timeval.  If an input or output function blocks
for this period of time, and data has been sent or received, the  return
value  of  that  function  will be the amount of data transferred; if no
data has been transferred and the timeout has been reached  then  -1  is
returned  with  errno set to EAGAIN or EWOULDBLOCK just as if the socket
was specified to be nonblocking.  If the timeout is  set  to  zero  (the
 default) then the operation will never timeout.

А вот на практике не пробовал :)

да и http://linux-admin.net.ru/content/572
   
 SO_RCVTIMEO и SO_SNDTIMEO
              Указать время ожидания (при  передаче  или  приеме)
              сообщения  об  ошибке.  Значения этих опций в Linux
              зависят от протокола и не могут быть  записаны  или
              считаны. Их функциональность может быть эмулирована
              с помощью alarm(2) или setitimer(2).


-- 
  А ещё говорят так  (fortune):
 
________________________________________________________________________
С уважением Хихин Руслан
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sysadmins/attachments/20070517/fc5a4730/attachment-0003.bin>


Подробная информация о списке рассылки Sysadmins