Конференция "Сети" » Прокси в моей программе [D7, WinXP]
 
  • Sanprof (23.09.10 14:05) [0]
    Здравствуйте, пишу программу на делфи, стала надобность, чтобы программа работала через прокси-сервер, тоесть нужно в программу добавить настройку Прокси (ИП, Порт, Логин, Пароль).
    Ноги растут от того, что есть сервер(Имеет статический ИП) и есть клиент(работает в сети с выходом в интернет через прокси), нужно конектить сервер-клиент через сокеты(если и у клиента статический ИП, то все работает нормально, а через прокси-сервер нет)
  • Сергей М. © (23.09.10 21:37) [1]
    Хрень какая-то ...
    Клиенту статический адрес нафих не нужен. И прокси-серверу тоже безразлично статический ли у его клиента адрес.
  • Rouse_ © (23.09.10 22:27) [2]
    Вопрос то какой?
  • Slym © (24.09.10 05:34) [3]
    Протокол какой? не HTTP поди...
  • Sanprof (24.09.10 10:04) [4]

    > Протокол какой? не HTTP поди...

    Программы (сервер и клиент) написаны с помощью компонентов TServerSocket и TClientSocket, если у клинта статический ИП(Украина-Симферополь) и у сервера (домашняя машина имеет постоянный статический ИП-Украина-Харьков), то передача данных (текст, картинки и т.п.) между машинами идет нормально, тоесть через интернет все работает, но когда я запускаю клиента на машине с выходом в интернет через прокси, то естественно связь не устанавливается.
    Как обойти это дело???
    В интернете пишут, что может помочь Indy, но примеры везде для TwebBrowser-ов.
  • Sanprof (24.09.10 10:08) [5]
    Да и еще мне не требуется загрузка сайтов с сервера и все этой белеберды, мне нужно конкретно обмен текстом, картинка, музыкой и т.п. между, допустим, двумя клиентами в разных частях планеты через сервер (как я говорил компьютер-сервер со статическим ИП).
  • Сергей М. © (24.09.10 10:34) [6]

    > когда я запускаю клиента на машине с выходом в интернет
    > через прокси


    Не вижу абсолютно никакой связи между статичностью ip-адреса хоста клиента и работой через прокси.
    Вот как только прояснишь эту связь - тогда и рекомендации будут ..
  • DiamondShark © (24.09.10 10:45) [7]

    > Не вижу абсолютно никакой связи


    <mode telepat="ON">
    Тот хитрый клиент, похоже, к внешней сети вообще не подключён, а "выходом в интернет через прокси" здесь называется доступ к HTTP из внутренней сети через HTTP-прокси.
    </mode>

    В таком случае товарища спасёт NAT.

    Ну, или попробовать из него выпытать внятное описание конфигурации сети.
  • Сергей М. © (24.09.10 10:45) [8]
    Поддержка работы клиента через прокси-сервер сводится к реализации в приложении-клиенте протокола взаимодействия с тем или иным конкретным типом прокси.
    Т.е. ты должен научить свою клиентскую программу работать через как минимум HTTP(S)-, SOCKS4- и SOCKS5-прокси, с авторизацией или без нее.
  • Sanprof (24.09.10 11:14) [9]

    > Т.е. ты должен научить свою клиентскую программу работать
    > через как минимум HTTP(S)-, SOCKS4- и SOCKS5-прокси, с авторизацией
    > или без нее.

    А можно поподробнее с этого момента. Я запускаю клиента на работе, здесь всем раздали ип(мой внутренний 192.168.0.98), но выход в интернет через прокси сервер (у нас он 192.168.0.1) с авторизацией, как мне добавить или где почитать как добавить в программу-клиент HTTP(S)-, SOCKS4- и SOCKS5-прокси с авторизацией или без нее???
  • Sanprof (24.09.10 11:20) [10]

    > Не вижу абсолютно никакой связи между статичностью ip-адреса
    > хоста клиента и работой через прокси.

    Я так понял, что вы меня не правильно поняли, когда я говорил, что у клиента статический ИП, я подразумевал, что клиент со стат ИП работает не через прокси, а имеет прямой выход в интернет.
  • Anatoly Podgoretsky © (24.09.10 11:31) [11]
    > Sanprof  (24.09.2010 11:20:10)  [10]

    Чудо
  • Сергей М. © (24.09.10 11:48) [12]

    > Sanprof   (24.09.10 11:20) [10]


    Т.е. делаем вывод, что статику адреса ты упомянул всуе)


    > как мне добавить или где почитать


    Если не хочешь отказываться от TClientSocket, то гугли и штудируй все касаемое  протоколов SOCKS4, SOCKS5, HTTP(S)

    В противном случае я бы посоветовал использовать библ-ку Synapse - там поддержка различных типов прокси уже интегрирована.
  • Sanprof (24.09.10 11:59) [13]

    > В противном случае я бы посоветовал использовать библ-ку
    > Synapse - там поддержка различных типов прокси уже интегрирована.
    >

    ОК, я тогда почитаю по этому поводу, если че не пойму здесь отпишусь.
  • Sanprof (24.09.10 12:06) [14]
    а еще не подскачете, где можно найти хорошо написанную статейку по Indy по использованию прокси (только не для TWebBrowser-а)??? Думаю как вариант заменить TClientSocket на TIdTCPClient, а TServerSocket на TIdTCPServer. Indy же поддерживает работу через прокси или я ошибаюсь???
  • Сергей М. © (24.09.10 12:27) [15]
    Нафих тебе этот монстр - Indy ? Геморрой легко зарабатывается, но тяжело поддается лечению
    Бери на вооружение Synapse !
    Там все прокси-хозяйство реализовано изящно и интуитивно понятно.
  • Anatoly Podgoretsky © (24.09.10 12:30) [16]
    > Sanprof  (24.09.2010 12:06:14)  [14]

    Кроме информации на сайте авторов, практически негде. Статьи обычно не
    копируют, а по Инди в особенности.
    И когда ты говоришь прокси, то называй какой именно, может и не работает.
  • Sanprof (24.09.10 12:48) [17]

    > Anatoly Podgoretsky ©   (24.09.10 12:30) [16]
    >
    > И когда ты говоришь прокси, то называй какой именно, может
    > и не работает.

    Если честно, то я не знаю какой, а какой лучше подходит для соединения между ClientSocket и SeverSocket???
  • Сергей М. © (24.09.10 12:55) [18]
    > Если честно, то я не знаю какой

    Если не знаешь какой тип прокси даже у тебя на работе, то как же ты собрался поддерживать работу своего клиента через прокси с произвольного хоста ?

    Придется реализовывать поддержку всех широкораспространенных, в числе которых вышеупомянутые.

    > какой лучше подходит для соединения между ClientSocket и SeverSocket?

    Им по барабану. Они про прокси вообще ничего не знают, ибо работают на транспортном уровне. А ПРокси-протоколы - это уже прикладной уровень.
    В любом случае при использовании этих компонентов придется ручками реализоввать поддержку прокси.
  • Sanprof (24.09.10 13:16) [19]

    > Сергей М. ©   (24.09.10 12:55) [18]
    >
    > Если не знаешь какой тип прокси даже у тебя на работе

    А его как-то можно узнать без помощи администратора?
 
Конференция "Сети" » Прокси в моей программе [D7, WinXP]
Есть новые Нет новых   [118656   +18][b:0][p:0.001]