Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2002.09.23;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.54 MB
Время: 0.009 c
1-73724
Dmitriy_R
2002-09-11 12:12
2002.09.23
Управление чужой программой


6-73794
SuN_Alex
2002-07-20 03:59
2002.09.23
Как подключится к IP IPC$ ?


1-73597
ZSV
2002-09-12 10:06
2002.09.23
StringGrid и Report


1-73699
ResTec
2002-09-11 05:38
2002.09.23
Ка создать прозрачного родителя?


3-73500
RDA
2002-09-01 13:01
2002.09.23
AutoCommit в TpFIBDataSet





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский