TLS выполняется для потоков, и данные в этих потоках помещаются в один или несколько фрагментов (максимум 2 ^ 14 байтов).Это называется фрагментацией.
Сама спецификация говорит следующее:
Границы клиентских сообщений не сохраняются на уровне записи (т. Е. Несколько клиентских сообщений одного и того же ContentType МОГУТ объединяться водиночная запись TLSPlaintext или отдельное сообщение МОЖЕТ быть фрагментирована по нескольким записям).
, что аналогично тому, как поместить их в поток и затем снова разбить поток на отдельные фрагменты.
Если вы получаете данные через TLS, вам придется воссоздавать этот поток из отдельных фрагментов.Таким образом, происходит «повторная сборка», представляющая собой простое объединение фрагментов в поток.
Сокет содержит поток вывода и ввода.Выходной поток должен быть фрагментирован, а входной поток должен быть повторно собран.
Ничего волшебного не происходит, поэтому, вероятно, вы не можете найти много.
Часто прикладной уровень будет, тем не менее, предоставленотносительно низкоуровневый интерфейс к уровню TLS, который позволит ему обернуть или отправить свои собственные фрагменты.Например, этот API от IBM показывает, что он позволяет пользователю упаковывать и отправлять или получать и развертывать каждое сообщение самостоятельно.В этом случае пользователь библиотеки должен позаботиться о любой фрагментации / повторной сборке сообщения.
Поскольку фактический метод фрагментации / сборки не указан TLS, его следует рассматривать как специфическую для реализации.