Ошибка записи SSL: 5, ошибка 145, время ожидания соединения истекло

#c #linux #sockets #ssl

#c #linux #сокеты #ssl

Вопрос:

все: Только что у меня возникла проблема с моим кодом.

Я получил ошибку «Ошибка записи SSL: 5, ошибка 145, время ожидания соединения истекло»,

и эта ошибка появляется не часто. Мы тестируем код около месяца, и эта ошибка появляется только один раз. Я ищу ошибку в Google, и я не получил ничего полезного. Кто-нибудь, кто сталкивался с этой ошибкой?

 // Below are my codes
int err, r;
int width = sockfd   1;
struct timeval tv_timeout = {1,0};
fd_set writefds;
FD_ZERO(amp;writefds);

FD_SET(sockfd, amp;writefds);        

r = select(width, NULL, amp;writefds, 0, amp;tv_timeout);
if (r < 0) 
{
    printf("sslWriteData:r < 0n");
    return FAIL;
}

if (FD_ISSET(sockfd, amp;writefds))
{
    FD_CLR(sockfd, amp;writefds);
    r = SSL_write(pssl, (void*)(pszDataBuf   iBufLen - iLeftLen), iLeftLen)         
    err = SSL_get_error(pssl, r);
    if (SSL_ERROR_NONE == err)
    {
        //...;
    }
    else 
    {
        printf("sslWriteData:SSL write err:%d, "
                "errno %d, %sn", 
                err, errno, strerror(errno));
        return FAIL;
    }
}
  

Комментарии:

1. Похоже, возникла временная проблема с сетью; однако трудно сказать наверняка, если вы не можете ее воспроизвести.

2. Я думал, что это временная проблема с сетью, но время ожидания составило 16 минут, а не 1 секунду, как я установил с помощью select . Это было проверено.