![]() |
|
|
![]()
|
|
| null56 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 721 Регистрация: 19.3.2008 Репутация: 6 Всего: 12 |
В общем изложу суть того, чего хочу добиться...
На серверной стороне имеется открытый сокет QSslSocket, который появился от QTcpServer, когда произошел коннект со стороны клиента. После того, как на серверной стороне создался объект, я запускаю шифрование startServerEncryption(). Но, если на другой стороне сидит неизвестный и не знает, что идет соединение по шифрванному каналу, он может не ждать начала шифрованного соединения с сервером и сразу посылать данные. Если я правильно понимаю работу сокетов в qt, то в операционной системе, под сокет выделяется буфер, который наполняется данными от клиента средствами самой оси, после чего происходит сигнал readyRead. Так вот, на серверной стороне состояние сокета помечено, как UnEncrypt и если приходят данные в этот буфер и генериться сигнал readyRead, мне бы хотелось этот буфер очищать, но не уничтожать сокет Вопрос Возможно ли такое сделать средствами qt? ЗЫ: вопрос своевременного вышибания неизвестного злоумышленника решается по таймеру, здесь меня конкретно интересует очистка внутреннего буфера Заранее благодарен за помощь |
|||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Выстави буффер нужного тебе размера, если боишься, что заддосят. Потом просто читай данные во временный QByteBuffer, который будет уничтожаться при выходе из слота, если state не тот который нужен. seek() работать не будет для sequential device, а сокет им является.
|
|||
|
||||
| null56 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 721 Регистрация: 19.3.2008 Репутация: 6 Всего: 12 |
а что будет проиходить, если клиент на той стороне будет пытаться послать больше данных, чем размер выставленного мной буфера... Просто чтение будет происходить не сразу на стороне сервера
Это сообщение отредактировал(а) null56 - 14.2.2009, 16:11 |
|||
|
||||
| null56 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 721 Регистрация: 19.3.2008 Репутация: 6 Всего: 12 |
ладно, это экспериментами проще проверить....
Спасибо |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |