Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.09.23;
Скачать: CL | DM;

Вниз

Смесь бульдога с носорогом: моя версия :))   Найти похожие ветки 

 
savva ©   (2002-07-19 13:57) [40]

вот где собака порылась:)))
мы говорим о Chat-клиенте на протоколе HTTP и сервере не моей сети (но это признак не обязателен, в принципе к программе серверу будет доступ и из локальной сети). Исполнение сервера - не скрипт. Win32 приложение...

Грубо говоря - чат из примеров Делфи по сокетам, тока расширенный до возможности работать через HTTP proxy


 
Wonder ©   (2002-07-19 13:58) [41]

Так вот скажи своему админу, что этого в стандарте нету :)

The following describes the original HTTP/1.0 form of persistent
connections.

When it connects to an origin server, an HTTP client MAY send the Keep-Alive connection-token in addition to the Persist connection-token:

Connection: Keep-Alive

An HTTP/1.0 server would then respond with the Keep-Alive connection token and the client may proceed with an HTTP/1.0 (or Keep-Alive)persistent connection.

An HTTP/1.1 server may also establish persistent connections with HTTP/1.0 clients upon receipt of a Keep-Alive connection token.
However, a persistent connection with an HTTP/1.0 client cannot make use of the chunked transfer-coding, and therefore MUST use a Content-Length for marking the ending boundary of each message.

A client MUST NOT send the Keep-Alive connection token to a proxy server as HTTP/1.0 proxy servers do not obey the rules of HTTP/1.1 for parsing the Connection header field.


 
Digitman ©   (2002-07-19 14:10) [42]

Итак,

WinRoute - на одной из машин в твоей же ЛВС (возможно, на той же машине, которая является сервером доступа к провайдеру).

Чат-клиент (приложение, использующее TClientSocket) - в той же ЛВС, коннект к чат-серверу может осуществлять как непосредственно через интерфейс провайдера, так и через WinRoute

Чат-сервер - Win32-париложение, предоставляющее Web-сервис на 3000-м порту где-то в глоб.сети на некоем хосте


Так ?


 
savva ©   (2002-07-19 14:14) [43]

аг :))


 
savva ©   (2002-07-19 14:16) [44]

не ясно я значит разъяснял...


 
Digitman ©   (2002-07-19 14:17) [45]

>savva
Видимо, дальше можно и не продолжать)

Володя тебе привел конкретный аргумент по использованию токена Keep Alive

В ответ на несуразицу с Keep Alive ты и получаешь от своего WinRoute "Connection: close"


 
savva ©   (2002-07-19 14:17) [46]

даа...


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

Проблема осталась, но времени ее решать пока нету...

PS. Если вдруг по какой либо случайности найдется один из вариантов решение - дайте мне знать по e-mail... Если конечно трудно не будет...

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


 
savva ©   (2002-07-19 14:21) [47]

допустим...
но есть ли пример заголовка такой чтобы прокси не закрывал соединение? (наглость второе счастье..)


 
Digitman ©   (2002-07-19 14:22) [48]

получается, что чат-сервер использует HTTP/1.0 и в ответ на Keep Alive попросту закрывает коннект по собственной инициативе.

О чем тебе WinRoute и сообщает в логе.


 
Digitman ©   (2002-07-19 14:28) [49]

Все из той же "оперы" - нарушение или игнорирование ПИО )))

Так что TCP-транспорт у твоего клиента ни при чем здесь - работает как положено.

Кстати, подожди ... )

Вот есть момент один .. когда-нить наступишь на грабли :

// открываем соединение
ClientSocket1.Active:=true;
mess_str:=HTTP_POST+Content //(***)

Что будет, если вот это

procedure TForm1.ClientSocket1Write(Sender: TObject;
Socket: TCustomWinSocket);
begin
// Постим данные при коннекте
Socket.SendText(mess_str);
mess_str:="";
end;

выполнится раньше, чем (***) ?

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


 
savva ©   (2002-07-19 14:31) [50]

:)) уже поменял... были сомнения, но ошибок не было в работе в ЛВС


 
Digitman ©   (2002-07-19 14:38) [51]

для ЛВС эти "грабли" - по барабану) ... это твой клиент будет на них наступать регулярно : если нечетко представляешь себе последовательность событий, клиент будет получать дисконнект по "непонятной" причине, если вообще не "упадет" в самый критичный момент ... а грамотно написанному чат-серверу на проблемы твоего клиента начхать : он либо молчать будет либо отключать кл.транспорт, чуть что некорректно или невовремя его клиент спросит ...


 
savva ©   (2002-07-19 14:41) [52]

как такового дисконекта от прокси сервера нет. Я так понимаю, что если они (прокси сервер и клиент) находятся в одной сети, то при закрытии соединения прокси сервером должно генерироваться событие дисконнекта?


 
savva ©   (2002-07-19 14:46) [53]

все.. ладно, я убег...

всем удачи!



Страницы: 1 2 вся ветка

Текущий архив: 2002.09.23;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.019 c
6-73786
dim-
2002-07-14 20:20
2002.09.23
Cервер HTTP


1-73590
savrick
2002-09-12 02:39
2002.09.23
Как обновить рабочий стол?


14-73827
Vint44
2002-08-27 13:28
2002.09.23
Ищу компоненту вроде эквалайзера


1-73627
Консул
2002-09-12 14:48
2002.09.23
Tray


1-73610
Злой!!!
2002-09-12 12:51
2002.09.23
Перевод строки