![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как правильно сделать запрос-ответ...
Knight © (2009-11-23 11:07:00)... между TServerSocket-TClientSocket. т.е. наподобие indyHTTP.get(url), вызвал data:=sendtosocket('что-то') и в data ответ сервера или ошибка связи, таймаута.
Anatoly Podgoretsky (2009-11-29 22:10:00) [1]> Anatoly Podgoretsky (29.11.2009 22:09:27) [27]
Последовательность команд и ответов называется машина состояний.
Anatoly Podgoretsky (2009-11-29 22:09:00) [2]> Knight (29.11.2009 21:57:25) [25]
Обычная разработка протокола, набор команд и набор ответов на каждую программу, возможно еще и последовательность команд и ответов.
DVM (2009-11-29 22:01:00) [3]
> Я так понимаю, что обычно клиент шлёт запросы строками (типа,
> PASS, LOGIN, FILE), а сервер отвечает кодами (200, 440,
> 500 и т.п.)
это вовсе необязательно
> Тут надо разношёрстные данные передавать с авторизацией,
> сохранением сессией между подключениями, выдачей данных
> из базы, файлов и изображений...
И все это называется HTTP
Knight (2009-11-29 21:57:00) [4]
> Anatoly Podgoretsky © (29.11.09 20:05) [23]
А у Вас в эл. библиотеке есть что на эту тему?
Knight (2009-11-29 21:33:00) [5]
> Так и называется
Искал, но никакого объяснения с нуля не нашёл...
Anatoly Podgoretsky (2009-11-29 20:05:00) [6]> Knight (29.11.2009 17:01:21) [21]
Так и называется
Knight (2009-11-29 17:04:00) [7]Только не надо ссылок на чаты... это я сам писал. Тут надо разношёрстные данные передавать с авторизацией, сохранением сессией между подключениями, выдачей данных из базы, файлов и изображений...
Knight (2009-11-29 17:01:00) [8]Что можно почитать по разработке протокола обмена между клиентом и сервером? Как это вообще называется в литературе? Запутался...
Я так понимаю, что обычно клиент шлёт запросы строками (типа, PASS, LOGIN, FILE), а сервер отвечает кодами (200, 440, 500 и т.п.)
Или может поможете советом? :)
Сергей М. (2009-11-27 08:20:00) [9]
> все вопросы отпали
Сомневаюсь)
Грабли типа [7] ждут тебя и на стороне TSocketServer'а - ты же не захотел раобраться с тонкостями асинхр.режима)
Knight (2009-11-27 05:58:00) [10]Спасибо!
Чувствую... пытаюсь ехать не тянет... а ручной тормоз-то не снял :)
TSocketServer на стороне сервера + Synapse на стороне клиента... всё, все вопросы отпали :)
Сергей М. (2009-11-26 23:34:00) [11]
> готовый сервер (не http)
Готовый "не http" у тебя перед носом - TServerSocket.
Knight (2009-11-26 22:32:00) [12]Может кто таки видел готовый сервер (не http) типа TServerSocket, только на Synapse... не ICS
А то я пока его изобретаю, наделаю гораздо больше косяков чем в [7] :)
Сергей М. (2009-11-24 11:31:00) [13]
> сокетный сервер надо писать самому. Так?
Да.
Knight (2009-11-24 11:08:00) [14]Если я правильно понял, там только класс сокета... то есть сокетный сервер надо писать самому. Так?
Knight (2009-11-24 09:54:00) [15]Спасибо :)
Сергей М. (2009-11-24 09:50:00) [16]Кр.того, есть еще полезный колбек TBlockSocket.ОnHeartbeat для периодической "разморозки" вызывающего потока на время выполнения длительной блок.операции.
Сергей М. (2009-11-24 09:47:00) [17]см. класс TBlockSocket, события OnMonitor, OnStatus
Knight (2009-11-24 09:33:00) [18]
> Сергей М. © (23.11.09 14:03) [10]
Пробую переделаться на Synapse... вещь интересная, спасибо ;)
> Да. Прямо на блюдечке.
Можешь подсказать как это там называется, где искать?
Сергей М. (2009-11-23 14:03:00) [19]
> кривова-то, но даже так, что-то работает
Вот именно "что-то".
Чуть изменились сетевые условия - и все, приехали, нишиша не работает)
> у Synapse это есть?
Да. Прямо на блюдечке.
> Не люблю с собой кучу компонент таскать
Там нет компонентов, там только наследники TObject и глоб.ф-ции
Knight (2009-11-23 13:53:00) [20]А что? Написано, конечно, кривова-то, но даже так, что-то работает... но можно колбэк функцию прикрутить для отображения прогресса. А у Synapse это есть? Не люблю с собой кучу компонент таскать.