![]() |
Модераторы: feodorv |
![]() ![]() ![]() |
|
GremlinProg |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2706 Регистрация: 9.8.2005 Где: Тюмень Репутация: 1 Всего: 106 |
Дано: имеется клиент-сервер, с защищенным соединением,
иногда стадия инициализации защищенного соединения склеивается со штатной работой сервиса, т.е. в буфере клиентского сокета на стороне сервера могут содержаться одновременно и последняя порция данных инициализации SSL и обычные данные клиента, на сервере, в AcceptSecurityContext передается весь блок пришедших данных (параметр pInput->pBuffers->pvBuffer), т.к. размер запрашиваемой порции изначально неизвестен, известен только максимальный размер такого пакета ( SecPkgInfo::cbMaxToken ) Проблема: когда AcceptSecurityContext на сервере успешно завершает инициализацию и переходит в штатный режим, клиент, пославший склеенный первый блок данных висит, т.к. сервер проглотил этот блок при завершении инициализации и ничего не ответил чтобы решить проблему можно просто считывать данные на стадии инициализации побайтно, но это медленно, а если определить размер переваренного блока инициализации ( т.е. число байт, обработанных AcceptSecurityContext во входящем буфере pInput->pBuffers->pvBuffer ), решение будет быстрым кто-нибудь сталкивался с проблемой? -------------------- "Гений всегда разумнее, чем умнее. Ум — это машина, разум — водитель этой машины." |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Сети | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |