Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2009, 20:26   #1
7KByte
Пользователь
 
Регистрация: 28.05.2009
Сообщений: 13
По умолчанию Тайм аут для connect()

Как установить время? А то он думает долговато..
Если хост не доступен то приходится ожидать пару минут, что бы получить ошибку...
PHP код:
    std::string finish_msg strm_msg.str();
    
char buf[5555];
    
struct sockaddr_in addr;
    
int sock;
    
sock socket AF_INETSOCK_STREAM);
    if ( 
sock )
    {
        
perror "socket" );
        exit ( 
);
    }
    
addr.sin_family AF_INET;
    
addr.sin_port htons 80 );
    
addr.sin_addr.s_addr inet_addr "***.***.***.***" );
    if ( 
connect sock, ( struct sockaddr * ) &addrsizeof addr ) ) < )
    {
        
perror "connect" );
        exit ( 
);
    }

    
send sockfinish_msg.c_str(), finish_msg.size(), );
    
recv sockbufsizeof buf ), ); 
7KByte вне форума Ответить с цитированием
Старый 29.05.2009, 22:01   #2
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

используй функцию select.

Цитата:
man select
int select(int nfds, fd_set *readfds, fd_set *writefds,
fd_set *exceptfds, struct timeval *timeout);

timeout is an upper bound on the amount of time elapsed before select() returns.
If both fields of the timeval stucture are zero, then select() returns immediately.
(This is useful for polling.) If timeout is NULL (no timeout), select() can block
indefinitely.
vvviperrr вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Cannot connect to Analysis Services version '10.0.1600.22'..". namenike Общие вопросы .NET 0 29.05.2009 11:55
Как выставить таймаут операции connect() для сокетов по закрытому порту GanjaKyp Работа с сетью в Delphi 1 16.03.2009 21:59
БД и пользователи. Реал-тайм. Ramires БД в Delphi 7 19.01.2009 10:40
Connect с удаленной базой MySQL _SERGEYX_ БД в Delphi 1 26.08.2008 14:06
Connection timed out при вызове IdSMTP1.Connect(10000); dimon000 Работа с сетью в Delphi 3 11.01.2008 22:49