В нашем клиент-серверном приложении мы используем протокол TLS / TCP для обмена сообщениями.Через некоторое время между приложениями происходит смещение сообщений (сообщения отправляются и принимаются в правильном порядке в начале), то есть клиент отправляет 1000-е сообщение на сервер и получает ответ 999-го сообщения.Подозреваемый находится на стороне клиента, в котором мы реализуем уровни TCP и TLS независимо, т.е. не привязываем сокет TCP к объекту SSL (через SSL_set_fd ()), а используем BIO.Когда клиентское приложение получает ответ от сервера (почти уверен, что сообщение обрабатывается на сервере правильно, клиентский уровень TCP получает сообщение правильно и т. Д.), Сообщение пересылается на уровень SSL.Сначала клиентское приложение записывает сообщение в BIO:
BIO_write (readBio, data, length);
Затем в другой функции уровня SSL сообщение читается с использованием SSL_read ():
res = SSL_read (ssl, buffer, length);
Операция чтения выполнена успешно, но моя цель - проверить, есть ли еще записи для чтения в BIO.Я решил использовать метод SSL_pending (), но кажется, что этот должен использоваться, чтобы проверить, есть ли еще байты в той же записи.Если наши подозреваемые верны, я хотел бы проверить, есть ли в BIO еще одна запись, чтобы все сообщения обрабатывались без каких-либо задержек.Можете ли вы помочь мне в этой теме?Заранее спасибо.