Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Сети > Таймауты


Автор: ne0n 2.8.2007, 10:45
Либо я туплю либо еще что то, но я ни как не пойму как установить таймауты при передачи почты через WinSock... хотя  функция send например может вернуть результат -WSATIMEDOUT(тобишь время одидания ответа вышло), так как установить таймаут, а то я чето ни как не пойму smile  

Автор: ne0n 2.8.2007, 16:07
так покапавшись в MSDN я помоему понял что надо делать....за ето вроде отвечает функция setsockopt... если я прав то ето должно выглядить примерно так:
Код


   //для функции recv
   setsockopt(hSocket, SOL_SOCKET, SO_RCVTIMEO, @Timeout, SizeOf(Integer)); 
  //для функции send
    setsockopt(hSocket, SOL_SOCKET, SO_SNDTIMEO, @Timeout, SizeOf(Integer));



надоли еще что то сделать?! 
да кстати если я переведу сокет в неблокирующий режим ускорит ли это скорость работы?!

Автор: MetalFan 2.8.2007, 16:18
наверное с пом. setsockopt

Добавлено через 1 минуту и 51 секунду
Цитата(ne0n @  2.8.2007,  16:07 Найти цитируемый пост)
скорит ли это скорость работы?!

в чем выражается скорость работы? имхо -  не увеличит, но GUI подвисать не будет при правильном подходе

Автор: ne0n 2.8.2007, 16:25
MetalFan, тьфуты не то сказал о чем думал, я имел ввиду не скорость работы, а скорость подключения к серверу(я где то читал, а вот где никак не могу найти)?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)