WINSOCK (Поиском пользовался)

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Arto
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 125
Зарегистрирован: 16.04.2002 (Вт) 18:23

WINSOCK (Поиском пользовался)

Сообщение Arto » 24.10.2007 (Ср) 15:55

Здравствуйте была пролема отправки информации при помощи WINSOCK через Прокси сервер, нашел у Вас очень много информации и в принципе задача решилась за не большим исключением

Делаю так

frmClient.tcpClient.Connect sProxy, sPort

While Not frmClient.tcpClient.State = 7
DoEvents
Wend

а затем
frmClient.tcpClient.SendData strSend
где strSend строковая переменная в которую записываетмя метод POST со всеми причиндалами и с "Proxy-Connection: Keep-Alive" & vbCrLf & vbCrLf в конце

frmClient.tcpClient.Connect sProxy, sPort делаю один раз в начале программы и при выходе закрываю.

НО один из серверов ISA не хочет работать т.е. он работает только в том случае если я перед каждым методом POST закрываю конекцию и снова открываю

frmClient.tcpClient.close

а затем

frmClient.tcpClient.Connect sProxy, sPort

While Not frmClient.tcpClient.State = 7
DoEvents
Wend


Все остальные прокси сервера работают без проблем
В чем может быть загвоздка
С уважением

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: WINSOCK (Поиском пользовался)

Сообщение alibek » 24.10.2007 (Ср) 16:10

Arto писал(а):НО один из серверов ISA не хочет работать т.е. он работает только в том случае если я перед каждым методом POST закрываю конекцию и снова открываю

Значит на этом сервере используется HTTP 1.0. Разреши HTTP 1.1, тогда можно будет использовать уже существующее соединение.
Lasciate ogni speranza, voi ch'entrate.

Arto
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 125
Зарегистрирован: 16.04.2002 (Вт) 18:23

Сообщение Arto » 24.10.2007 (Ср) 16:20

Спасибо
Пробовал не помогло

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 27.10.2007 (Сб) 20:52

Привет!
Arto, а ты не задумывался над тем, что если у тебя отказ при коннекте ... ошибка и прочее - то у тебя софтвара в бесконечный цикл встанет :)

Ну и конечно же по поводу одного из ИСА серверов, есть вероятность что Proxy-Connection: Keep-Alive устанавливает тип соединение только к проксе. А сам сервер, к которому коннектится прокся не поддерживает Connection: Keep-Alive ... поэтому и прокся рвет соединение (когда сервер отпадает).

С Уважением,
Сергей
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)

Arto
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 125
Зарегистрирован: 16.04.2002 (Вт) 18:23

Сообщение Arto » 29.10.2007 (Пн) 8:56

Вся курьезность ситуации в том что выясняется, что этот ISA сервер поддерживает Proxy-Connection: Keep-Alive, потому что при конекте через него к моему серверу он после первой команды потом больше ничего не делает.
Подробней это выглядет так
Клиент конектясь посылает инфу моему серверу на проверку Логин Пароля, сервер в событии tcpServer_DataArrival принимает инфу от клиента и посылает ответ. Клиент его принимает у себя и загружает форму, а вот уже на следующую команду от клиента tcpClient.SendData strSend сервер в tcpServer_DataArrival ни как не реагирует хотя rmClient.tcpClient.State = 7 т.е вроде держит соединение и тоже самое на сервере


С уважением...

SSecurity
Служба безопасности
Аватара пользователя
 
Сообщения: 1283
Зарегистрирован: 19.08.2003 (Вт) 1:11
Откуда: Россия, Мурманск

Сообщение SSecurity » 29.10.2007 (Пн) 14:44

Ну надо читать протокол обмена :))
Может он ждет от тебя особо подтверждения :)))

С Уважением,
Сергей
Программист - это маленький Бог, а все его ошибки - это самостоятельные творения:)
Так задумано:)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 75

    TopList