Активный HTTP proxy server.



  • Здравствуйте!

    Я хотел бы использовать QT в своем проекте, в связи с этим у меня есть вопрос.

    Можно ли используя стандартный классы QT написать прокси сервер, который при запуске сам бы соединялся с клиентом, а клиент в свою очередь использовал бы этот прокси сервет для web траффика.

    Версия когда прокси сервет запускается в обычном режиме, а клиенты сами прдключаются к нему не подходит, так как сам прокси сервер может находится во внутренней сети и не иметь внешнего IP адреса.

    Спасибо!



  • webkit ????



  • При чем тут вебкит? Мне не нужно загружать страницу на кдиенте. Мне нужно чтобы на стороне клиента запустился фактически прокси сервер, но чтобы этот сервер не ждал входящих подключений от клиента, а САМ коннектился к клиенту (он знает его адрес).



  • sorry
    telepathy ????
    "telepathy":http://ru.wikipedia.org/wiki/Telepathy



  • Мне непонятен ваш выбор, почему именно telepathy?

    Я понимаю что эту задачу можно решить множеством способов, 1 из которых это написание своего приложения на сокетах. 2 это попробовать использовать уже существующие решения на QT.

    Так вот вопрос собственно, с помощью каких средств реализовать* это будет* легче?



  • Те которые знаете лучше, наверное. Надо выделить порт на адресе и установить на него событие для запуска .



  • bq. Надо выделить порт на адресе и установить на него событие для запуска .

    Можно подробнее? Это делается средствами QT видимо, какими? Что означает выделить порт?



  • doljen bit kakoy-to adres vidimy i s servera i s klienta, a pod portom ya ponimayu svobodnyi port na ip adrese.
    naprimer, 80 port standartno ispolzuet HTTP protokol. Sobstvenno - nujno sformirovatj sobytye, dlya otkrytya sessii svyazi servera s klientom



  • bq. adres vidimy i s servera i s klienta

    Что вы подразумеваете под этим адресом?



  • bq. прокси сервер, который при запуске сам бы соединялся

    кто такой клиент? тоже самописная часть из модели клиент - сервер проложения, или подразумивается любое веб приложение?

    Если ето самописное приложение, то 2 варианта:

    1. Если клиент и сервер находятся в одной сети:
      Клиент слушает по broadcast'у на заранее продуманное сообщение от сервера. Сервер при старте отправляет это сообщение в броадкаст с указанием порта для использования. Клиент получил сообщение, прочитал порт, подключился к серверу, profit.

    2. Если клиент и сервер находятся в разных сетях:
      Клиент слушает на заранее определённом внешнем порте. Получив от сервера сообщение с портом для подключения, с ним и соединяется. Если сервер находится за NAT, то можно настроить dyndns или обычный NAT-forwarding.

    Если всё-же под клиентом имеется в виду любое веб приложение, то это возможно только для некоторых программ. Некоторые стандартные средства используют Systemproxy settings, под виндоусом эти настройки можно изменить или через WINAPI, или с помощью provisioning. Под *nix платформами это можно сделать написав простенький kernel module.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.