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

Вниз

Продолжительное или разовое соединение   Найти похожие ветки 

 
Dmitry_177   (2007-05-25 13:16) [0]

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

Мне еще интересно вот к примеру браузеры не так ли делают? Т.е. открывают запрошенную html-страницу в интернете и рвут соединение с сервером, а при переходе по ссылке на какую-то другую страницу заново браузер соединяется с сервером и т.д.?


 
clickmaker ©   (2007-05-25 13:19) [1]


> при переходе по ссылке на какую-то другую страницу заново
> браузер соединяется с сервером и т.д.?

в принципе, это должно определяться заголовком http. Connection: Close | Keep-Alive


 
Dmitry_177   (2007-05-25 13:28) [2]


> в принципе, это должно определяться заголовком http. Connection:
>  Close | Keep-Alive

А в основном как определяется в заголовке HTTP?

И как вообще лучше, постоянно поддерживать соединение или при каждом запросе соединяться и после рвать соединение?


 
clickmaker ©   (2007-05-25 13:38) [3]


> как вообще лучше

универсального ответа нет
поддержка коннекта отнимает ресурсы, постоянное переподключение - время.
Как всегда, надо искать компромисс


 
SpellCaster   (2007-05-28 10:50) [4]

> Мне еще интересно вот к примеру браузеры не так ли делают?
> Т.е. открывают запрошенную html-страницу в интернете и
> рвут соединение с сервером, а при переходе по ссылке на
> какую-то другую страницу заново браузер соединяется с сервером
> и т.д.?

Где как, но для загрузки разных сопутствующих файлов, насколько я знаю, создаются отдельные соединения.


 
Интересующийся   (2007-06-02 17:28) [5]

Браузеры обычно используют отдельные подключения, а при необходимости используют КУКИ.

Если речь идет о передаче данных (в основном текст) и постоянном общении между клиннтов и сервером лучше одно.

PS

Смотреть нужно, сколько клиентов у сервера и чем вы собираетесь обмениваться, а потом и выбирать конкретную технологию


 
Programci ©   (2007-06-02 20:51) [6]

Elsi ti budew polzavatsa serverom .dll to problem ne budet



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

Форум: "Сети";
Текущий архив: 2008.02.24;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.044 c
2-1201595980
Dracula
2008-01-29 11:39
2008.02.24
Не дать уснуть компьютеру.


6-1180940537
DVM
2007-06-04 11:02
2008.02.24
Винет поток на функции Socket().


2-1201680662
Venkin
2008-01-30 11:11
2008.02.24
URL выделенной картинки в TWebbrowser


4-1183993259
AlexanderMS
2007-07-09 19:00
2008.02.24
Рисование с "прозрачным" цветом.


15-1200932045
Piter
2008-01-21 19:14
2008.02.24
Передача данных в DLL, которые могут быть изменены





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский