1 | |
Написание прокси сервера на сокетах. Проброс сообщений основному серверу и возврат значений через прокси15.12.2015, 12:55. Показов 3099. Ответов 1
Есть 3 приложения.
1. Клиент. 2. Прокси сервер. 3. Сервер. Что задумано: Запускается клиент и получает параметры конфигурации с сервера. Нужен теперь посредник. Клиент обратился к посреднику (Прокси сервер), посредник передал запрос на сервер, сервер его обработал, вернул посреднику. а посредник клиенту. Технические детали: Клиент запрашивая данные ждёт не более 5 секунд, иначе вылетает исключение, коннект закрывается. И этого не изменить, проект большой и давно написан. Вопрос: Нормально ли получив на прокси сервере сообщение тут же сразу его по существующему коннекту (сокету) передать серверу и запросив чтение из сокета получить ответ и сразу же его передать клиенту? Обычно это так делается? Или нужно что-то делать типа очереди сообщений и т.д.? Где про это почитать можно? То есть, если прокси сервер не будет подключен к серверу, то получив сообщение от клиента он просто ничего не вернёт и клиент ничего не получит закрыв соединение. Хотя какие другие есть тут варианты я даже не знаю. Добавлено через 43 секунды Под сообщениями я понимаю сериализованный данные. В общем есть свой бинарный протокол. Добавлено через 41 секунду Сервер получив сообщение определяет его тип (число по сути, а в программе enum) и в зависимости от типа уже принимаем решение, что с ним делать.
0
|
15.12.2015, 12:55 | |
Ответы с готовыми решениями:
1
При передаче post запроса через прокси сервер в ответ приходят ошибки с прокси сервера Запросы к серверу через прокси C# Библиотека Mail.NET не подключается к IMAP серверу через прокси Цепочка прокси / Как не спалить IP сервера перед прокси |
17769 / 12922 / 3378
Регистрация: 17.09.2011
Сообщений: 21,194
|
|
15.12.2015, 15:12 | 2 |
Прокси сервер по возможности должен быть максимально прозрачным для сервера и для клиента, потому рекомендуется подход "что получил, то и отправил" (ну, если не нужна всякая фильтрация или изменение пакетов).
Внедряя какую-то очередь, вы можете нарушить используемый протокол, в котором, к примеру, ответ на позднее отправленное сообщение должен прийти от сервера раньше, чем ответ на ранее отправленное сообщение. Или, еще хуже, ранее отправленное сообщение вообще должно быть проигнорировано, а вы сидите в очереди и ждете на него ответа.
1
|
15.12.2015, 15:12 | |
15.12.2015, 15:12 | |
Помогаю со студенческими работами здесь
2
Libcurl - не могу подключиться к серверу через прокси Как быстро скачивать через прокси с файлообменников или без использования прокси Обращение к удаленному серверу через прокси используя winsock настройка веб-сервера через прокси Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |