В существующем соединении DTLS, т. Е. Квитирование DTLS уже выполнено успешно на порту 5000, если сервер получает входящее соединение DTLS, т.е. пакет DTLS Client Hello, тогда генерируется SSL_read SSL_ERROR_SYSCALL
,Получение SSL_ERROR_SYSCALL для входящего соединения DTLS в существующем соединении DTLS на том же порту
Может ли кто-нибудь дать мне понять, почему.
Сценарий заключается в том, что Клиент установил соединение DTLS с сервером на сервере 5000 сервера. IP-адрес изменений клиента может быть связан с переходом с Wi-Fi на 3G или наоборот. Итак, теперь Клиент снова попытается установить соединение DTLS с сервером на том же сервере 5000 сервера.
Пожалуйста, кто-нибудь, дайте мне знать, как к
Q1. почему SSL_read генерирует ошибку SSL_ERROR_SYSCALL и что можно сделать для продолжения?
Q2. Можем ли мы обрабатывать другое входящее соединение DTLS в существующем соединении DTLS на том же порту, не очищая уже существующее соединение DTLS?
Заранее спасибо за помощь, Vineet Шривастава
Ваш вопрос летел под радаром. Всегда указывайте свою среду программирования. Я предполагаю, что это о коде, который у вас есть, не так ли? Если да, то где код? Если это касается самого OpenSSL, вы можете вместо этого попробовать serverfault или суперпользователь. –
Среда программирования - Unix. –
Нашли решение этой проблемы. Выявленные проблемы были следующими: 1. При получении входящего DTLS-соединения на порт, имеющем другое DLTS-соединение, необходимо было создать еще одну SSL-ручку и рассматривать ее как отдельное соединение DTLS. 2. Длина, указанная в SSL_Read, должна быть правильной. После предоставления правильного параметра и создания нового дескриптора SSL проблема была решена. Спасибо в любом случае за комментарии. –