Эксперт .NET
 Аватар для Casper-SC
4434 / 2094 / 404
Регистрация: 27.03.2010
Сообщений: 5,657
Записей в блоге: 1

Написание прокси сервера на сокетах. Проброс сообщений основному серверу и возврат значений через прокси

15.12.2015, 12:55. Показов 3389. Ответов 1

Студворк — интернет-сервис помощи студентам
Есть 3 приложения.
1. Клиент.
2. Прокси сервер.
3. Сервер.

Что задумано: Запускается клиент и получает параметры конфигурации с сервера. Нужен теперь посредник. Клиент обратился к посреднику (Прокси сервер), посредник передал запрос на сервер, сервер его обработал, вернул посреднику. а посредник клиенту.

Технические детали: Клиент запрашивая данные ждёт не более 5 секунд, иначе вылетает исключение, коннект закрывается. И этого не изменить, проект большой и давно написан.

Вопрос:
Нормально ли получив на прокси сервере сообщение тут же сразу его по существующему коннекту (сокету) передать серверу и запросив чтение из сокета получить ответ и сразу же его передать клиенту? Обычно это так делается? Или нужно что-то делать типа очереди сообщений и т.д.? Где про это почитать можно?

То есть, если прокси сервер не будет подключен к серверу, то получив сообщение от клиента он просто ничего не вернёт и клиент ничего не получит закрыв соединение. Хотя какие другие есть тут варианты я даже не знаю.

Добавлено через 43 секунды
Под сообщениями я понимаю сериализованный данные. В общем есть свой бинарный протокол.

Добавлено через 41 секунду
Сервер получив сообщение определяет его тип (число по сути, а в программе enum) и в зависимости от типа уже принимаем решение, что с ним делать.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.12.2015, 12:55
Ответы с готовыми решениями:

При передаче post запроса через прокси сервер в ответ приходят ошибки с прокси сервера
При передаче post запроса через прокси сервер в ответ прилетают ошибки с прокси сервера: <p><b>Invalid Request</b>...

Запросы к серверу через прокси C#
Доброго времени суток,помогите пожалуйста,мне нужно отправить на сайт 500 запросов с разных IP(айпи) адресов,но этот сайт после 100...

Библиотека Mail.NET не подключается к IMAP серверу через прокси
Всем здравствуйте. Кто-нибудь работал с библиотекой Mail.NET? Пишу программу, которая авторизуется по IMAP и отмечает все новые письма...

1
Эксперт .NET
 Аватар для kolorotur
17823 / 12973 / 3382
Регистрация: 17.09.2011
Сообщений: 21,261
15.12.2015, 15:12
Цитата Сообщение от Casper-SC Посмотреть сообщение
Нормально ли получив на прокси сервере сообщение тут же сразу его по существующему коннекту (сокету) передать серверу и запросив чтение из сокета получить ответ и сразу же его передать клиенту? Обычно это так делается?
Прокси сервер по возможности должен быть максимально прозрачным для сервера и для клиента, потому рекомендуется подход "что получил, то и отправил" (ну, если не нужна всякая фильтрация или изменение пакетов).
Внедряя какую-то очередь, вы можете нарушить используемый протокол, в котором, к примеру, ответ на позднее отправленное сообщение должен прийти от сервера раньше, чем ответ на ранее отправленное сообщение. Или, еще хуже, ранее отправленное сообщение вообще должно быть проигнорировано, а вы сидите в очереди и ждете на него ответа.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.12.2015, 15:12
Помогаю со студенческими работами здесь

Цепочка прокси / Как не спалить IP сервера перед прокси
Здравствуйте, такая проблема. Есть свой сервис, который производит автоматический парсинг страниц другого сайта, клиент у себя в...

Libcurl - не могу подключиться к серверу через прокси
curl_handle = curl_easy_init(); if(curl_handle) { curl_easy_setopt(curl_handle, CURLOPT_URL,...

Как быстро скачивать через прокси с файлообменников или без использования прокси
Доброго времени суток, как вы возможно знаете, для загрузки с облака маил ру или ядаа пользователи из хохляндии вынуждены использовать...

Обращение к удаленному серверу через прокси используя winsock
Здравствуйте. Подскажите, пожалуйста. Как можно обратиться к удаленному серверу, для получения html страницы, через прокси, используя...

настройка веб-сервера через прокси
Подскажите пожалуйста как настроить веб сервер IIS так чтобы он обращался к ресурсам в Internet через Proxy-сервер?. К примеру мне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru